A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 0825王欢 中级黑马   /  2015-8-31 06:59  /  720 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

3 个回复

倒序浏览
你猜{:2_36:}{:2_36:}
回复 使用道具 举报
有点意思
回复 使用道具 举报
本帖最后由 freehello 于 2015-8-31 14:14 编辑
  1. import java.util.ArrayList;
  2. import java.util.Iterator;

  3. public class Main{
  4.         public static void main(String args[]){
  5.                 ArrayList<Integer> arrayList = new ArrayList<>();
  6.                 arrayList.add(1);
  7.                 arrayList.add(2);
  8.                 arrayList.add(3);
  9.                 arrayList.add(4);
  10.                 arrayList.add(5);
  11.                 arrayList.add(6);
  12.                 arrayList.add(7);
  13.                 arrayList.add(8);
  14.                 arrayList.add(9);
  15.                 arrayList.add(10);
  16.                 System.out.println(findMe(arrayList,1));         
  17.         }
  18.         
  19.         /**
  20.          * 利用数组链表表示队列,对队列进行递归处理找出3移除
  21.          * @param persons 表示 队列
  22.          * @param i  传递队列尾部时的计数(1、2、3)
  23.          * @return 找到的人
  24.          */
  25.         public static int findMe(ArrayList<Integer> persons,int i) {
  26.                
  27.                 int nub = i;
  28.                
  29.                 Iterator<Integer> iterator = persons.iterator();
  30.                 if(persons.size() == 1)
  31.                         return persons.get(0);
  32.                 while(iterator.hasNext()) {
  33.                         iterator.next();
  34.                         if(nub == 3 ) {
  35.                                 iterator.remove();
  36.                                 nub = 1;
  37.                         }else {
  38.                                 nub++;
  39.                         }
  40.                 }
  41.                 findMe(persons,nub);
  42.                 return  persons.get(0);
  43.         }
  44. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马