逢三退一(boolean数组的使用)
package com.hanqi.count; // 逢三退一 输出留到最后值的索引;
public class Count1 { //主方法
public static void main(String[] args) {
Count1 c = new Count1();
System.out.println(c.count(6));
// 方法有返回值 , 传入数组长度(总共多少数);
} // 逢3 退1;
public int count (int in) {
//声明一个boolean数组
boolean arr[] = new boolean[in];
for (int i = 0; i < arr.length; i++) {
arr[i] = true;
//把数组的值替换为 ture;
}
int count = arr.length ; //总计数(获取数组长度)
int threecount = 0; // 3次循环计数
int index =0; //当前数组的序号
while (count > 1) {
//只要还有 1个以上的值为true 就会一直运行
if(arr[ index ]) {
threecount ++; // 值为treu 时+1
if(threecount == 3) {
arr[index] = false;
threecount = 0;
count --; //进一遍总数减1 因为逢3去1 ;
}
}
index ++; // 放在 if判断上面 arr.length 长度为500 但是序号是从0开始所以到499结束;
if (index == arr.length) {
index = 0;
}
//index ++; 放在 if判断底下归零后立马加1 所以不行(逻辑问题);
}
int ret = 0; // 遍历 留到最后为true的值得索引
for (int i = 0; i < arr.length; i++) {
if (arr[i]) {
// 值为true时输出i ,此时i为最后一个值的序号;
//System.out.println(i);
ret = i;
break;
}
}
return ret;
} }
这道题提醒了我 换个思路看看;(用boolean数组解决问题)
逢三退一(boolean数组的使用)的更多相关文章
- 51nod 1380"夹克老爷的逢三抽一"(贪心+set)
传送门 •参考资料 [1]:51Nod-1380-夹克老爷的逢三抽一 •题意 从长度为 n 的数组中抽取 $\frac{n}{3}$ 个不相邻的值使得加和最大(首尾也不能同时取) •题解 贪心选择当前 ...
- 51nod 1380:夹克老爷的逢三抽一
1380 夹克老爷的逢三抽一 基准时间限制:1 秒 空间限制:131072 KB 分值: 320 难度:7级算法题 收藏 取消关注 又到了诺德县的百姓孝敬夹克大老爷的日子,带着数量不等的铜板的村民 ...
- 【C语言探索之旅】 第二部分第三课:数组
内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语 ...
- byte和长度为8的boolean数组互相转换
由于byte是一个8位字节 所以可以用它来存放数组为8的boolean数组,这些在通信协议会经常用到.这里给出一个java代码对其互相转换的. package com.udpdemo.test2; i ...
- “全栈2019”Java第三十章:数组详解(下篇)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 用vue.js学习es6(三):数组、对象和函数的解构
一.数组的解构: 以前的方式: var arr = [1,2,3]; console.log(arr[0]); //1 console.log(arr[1]); //2 现在的方式: var [a,b ...
- scala学习之第三天:数组的特性与使用技巧
1.数组 Scala数组与Scala序列是兼容的 - 在需要Seq[T]的地方可由Array[T]代替.最后,Scala数组支持所有的序列操作. 隐式转换 方法1:通过scala.collection ...
- 【Java基础】“数三退一”问题的代码实现
现在有500个小孩,编号为0-499,手牵手连成一个圈,从第一个小孩开始"123123..."报数,数到三的小孩退出,求剩下的最后一个小孩的编号. public static vo ...
- JS笔记(三):数组、函数、类
(一) 数组 //创建数组 var the_array = [1,2,3,4,'5'] console.log(the_array[0]) //读取索引为0的数据 the_array[5] = '赋值 ...
随机推荐
- 微信红包店小程序开发过程中遇到的问题 php获取附近周边商家 显示最近商家
最近公司在做一个项目就是微信红包店.仿照的是微信官方在做的那个红包店的模式.客户抢红包,抢到以后到店消费,消费以后就可以拿到商家的红包了. 项目中的两个难点: 1通过小程序来发红包 这个之前在开发语 ...
- ASP.NET Core读取AppSettings
http://www.tuicool.com/articles/rQruMzV 今天在把之前一个ASP.NET MVC5的Demo项目重写成ASP.NET Core,发现原先我们一直用的Configu ...
- UWP 手绘视频创作工具技术分享系列 - Ink & Surface Dial
本篇作为技术分享系列的第四篇,详细讲一下手绘视频中 Surface Pen 和 Surface Dial 的使用场景. 先放一张微软官方商城的图,Surface 的使用中结合了 Surface Pen ...
- Linux服务管理1-1 课程简介与系统运行级别
- Hibernate中关于HQL查询返回List<Object>数据的结果集问题
---恢复内容开始--- 开发中遇到的一个小问题,使用Hibernate中的HQL查询时,使用query.list()查询出来的是一个List<Object>结果集 原来代码: publi ...
- vue2.0 路由模式mode="history"的作用
特别提醒:开启mode="history"模式,需要服务端的支持,因为出现"刷新页面报错404"的问题: 备注:微信分享:vue项目路由带"#&quo ...
- Mac新手使用指南:brew安装的nginx常用命令
安装:brew install nginx/sudo brew install nginx 启动:brew services start nginx/sudo brew services start ...
- 用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api
目前正在使用asp.net core 2.0 (主要是web api)做一个项目, 其中一部分功能需要使用js客户端调用python的pandas, 所以需要建立一个python 的 rest api ...
- 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结
Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始i ...
- 记一个CRenderTarget中的BUG及解决办法
转载请注明出处:http://www.cnblogs.com/Ray1024 一.问题描述 在MFC中使用Direct2D有现成的方法,在Visual Studio 2010 SP1及以上环境中MFC ...