逢三退一(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] = '赋值 ...
随机推荐
- 关于python中的dir函数
dir函数用于查看python对象的属性,如果所查看的python对象已经定义了__dir__方法,则使用dir会返回定义的__dir__方法的返回值.如果没有定义__dir__方法,则会从__dic ...
- Java禁止浏览器有缓存的源码
Java禁止浏览器有缓存的源码 import java.io.IOException; import javax.servlet.Filter; import javax.servlet.Filter ...
- Volatile的作用
众所周知,volatile关键字可以让线程的修改立刻通知其他的线程,从而达到数据一致的作用.那么它具体涉及到哪些内容呢? 关于缓存 计算机最大的存储空间就是磁盘(硬盘),但是访问的速度也是最慢的,价格 ...
- Git详解之五:分布式Git
为了便于项目中的所有开发者分享代码,我们准备好了一台服务器存放远程 Git 仓库.经过前面几章的学习,我们已经学会了一些基本的本地工作流程中所需用到的命令.接下来,我们要学习下如何利用 Git 来组织 ...
- 线程安全Dictionary
public abstract class ReadFreeCache<TKey, TValue> { protected ReadFreeCache() : this(null) { } ...
- chrome浏览器解决ajax跨域问题
方法一 1.右键谷歌快捷方式,选择"属性". 2.打开属性窗口,切换到"快捷方式"选项卡. 3.在目标路径的后面添加[ --disable-web-securi ...
- curl -windows下接口通讯
1,下载curl -----url命令传输工具 2,配置curl环境变量 3,在cmd环境中使用 举例:curl -G http://xxxxxxx.com?+参数 使用:curl -G &quo ...
- Java学习笔记3(数组)
1.数组的定义: 第一种: public class ArrayDemo{ public static void main(String[] args){ //定义数组 int [] arr = ne ...
- PE解析器的编写(一)——总体说明
之前自己学习了PE文件的格式,后来自己写了个PE文件的解析器,这段时间工作上刚好要用到它,老板需要能查看某个exe中加载的dll的一个工具,我在使用之前自己写的这个东西的时候,发现很多东西都忘记了,所 ...
- python 爬取腾讯微博并生成词云
本文以延参法师的腾讯微博为例进行爬取并分析 ,话不多说 直接附上源代码.其中有比较详细的注释. 需要用到的包有 BeautifulSoup WordCloud jieba # coding:utf-8 ...