JAVA面试题-国王杀100个和尚
本文最后更新于2023.06.26-23:48
,某些文章具有时效性,若有错误或已失效,请在下方留言或联系涛哥。
题目
国王杀100和尚,和尚编号从1-100,和尚从1数到5就把这个和尚杀掉,以此类推,最后只有一个和尚活着,请问这个和尚编号为多少?
代码
List list = new ArrayList();
for (int i = 1; i <= 100; i++) {
list.add(i);
}
// 1-5 计数
int i = 1;
// 算法结束,只剩下一人
while (list.size() > 1) {
for (int j = 0; j < list.size(); j++) {
// 数到5 杀掉
if (i == 5) {
list.remove(j);
// 移除元素后队列长度变短,索引-1
j--;
if (i > list.size()) {
i = 1;
break;
}
// 初始为 1= 1;所以在i++前设置i = 0
i = 0;
}
// 数数 ++1
i++;
}
}
System.out.println("幸运儿:"+list.get(0));
结果
幸运儿:79
阅读剩余
版权声明:
作者:涛哥
链接:https://ltbk.net/mst/article/1410.html
文章版权归作者所有,未经允许请勿转载。
作者:涛哥
链接:https://ltbk.net/mst/article/1410.html
文章版权归作者所有,未经允许请勿转载。
THE END