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数组的使用)的更多相关文章

  1. 51nod 1380"夹克老爷的逢三抽一"(贪心+set)

    传送门 •参考资料 [1]:51Nod-1380-夹克老爷的逢三抽一 •题意 从长度为 n 的数组中抽取 $\frac{n}{3}$ 个不相邻的值使得加和最大(首尾也不能同时取) •题解 贪心选择当前 ...

  2. 51nod 1380:夹克老爷的逢三抽一

    1380 夹克老爷的逢三抽一 基准时间限制:1 秒 空间限制:131072 KB 分值: 320 难度:7级算法题  收藏  取消关注 又到了诺德县的百姓孝敬夹克大老爷的日子,带着数量不等的铜板的村民 ...

  3. 【C语言探索之旅】 第二部分第三课:数组

    内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语 ...

  4. byte和长度为8的boolean数组互相转换

    由于byte是一个8位字节 所以可以用它来存放数组为8的boolean数组,这些在通信协议会经常用到.这里给出一个java代码对其互相转换的. package com.udpdemo.test2; i ...

  5. “全栈2019”Java第三十章:数组详解(下篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. 用vue.js学习es6(三):数组、对象和函数的解构

    一.数组的解构: 以前的方式: var arr = [1,2,3]; console.log(arr[0]); //1 console.log(arr[1]); //2 现在的方式: var [a,b ...

  7. scala学习之第三天:数组的特性与使用技巧

    1.数组 Scala数组与Scala序列是兼容的 - 在需要Seq[T]的地方可由Array[T]代替.最后,Scala数组支持所有的序列操作. 隐式转换 方法1:通过scala.collection ...

  8. 【Java基础】“数三退一”问题的代码实现

    现在有500个小孩,编号为0-499,手牵手连成一个圈,从第一个小孩开始"123123..."报数,数到三的小孩退出,求剩下的最后一个小孩的编号. public static vo ...

  9. JS笔记(三):数组、函数、类

    (一) 数组 //创建数组 var the_array = [1,2,3,4,'5'] console.log(the_array[0]) //读取索引为0的数据 the_array[5] = '赋值 ...

随机推荐

  1. requests爬取网页的通用框架

    概述 代码编写完成时间:2017.12.28 写文章时间:2017.12.29 看完中国大学MOOC上的爬虫教程后,觉得自己之前的学习完全是野蛮生长,决定把之前学的东西再梳理一遍,主要是觉得自己写的程 ...

  2. Centos6.8防火墙配置

    1.基本操作 # 查看防火墙状态 service iptables status # 停止防火墙 service iptables stop # 启动防火墙 service iptables star ...

  3. js知识点图解

  4. Python 实现接口类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)

    实现接口类的两种方式 方式一 from abc import ABCMeta from abc import abstractmethod class BaseMessage(metaclass=AB ...

  5. lambda 与内置函数,以及一些补充

    插播几条小知识: 1. lambda 表达式 对于简单的函数,我们可以用 lamdba 表达式来执行,一句话就够用

  6. append和extend 的区别

    l = ["zhy",666] l.extend(["edit","sdd"]) print(l) #['zhy', 666, 'edit' ...

  7. 浏览器history操作实现一些功能

    返回拦截 功能:从广告进入到落地页后,给history增加一个页面,拦截返回动作 主要用到的是h5中的history对象,使用了pushState,和replaceState来操作. 并且加入了一些条 ...

  8. LeetCode第[16]题(Java):3Sum Closest 标签:Array

    题目难度:Medium 题目: Given an array S of n integers, find three integers in S such that the sum is closes ...

  9. Hexo next博客添加折叠块功能添加折叠代码块

    前言 有大段的东西想要放上去,但又不想占据大量的位置.折叠是最好的选择.下面在Hexo的主题上定制添加折叠功能. 本文基于Hexo Next的主题修改.其他主题应该也差不多. 在main.js中添加折 ...

  10. 深透清晰理解Java高并发概述

    1.多线程安全性 多线程安全性的定义可能众说纷纭,但是其最核心的一点就是正确性,也就是程序的行为结果和预期一致. 当多个线程访问某个类时,不管运行环境采用何种线程调度算法或者这些线程如何交替执行,且不 ...