精简易懂版本

约瑟夫问题II

http://www.nowcoder.com/questionTerminal/ff063da83b1a4d91913dd1b1e8b01466

这题就是把没有喊道1的人删了就好了
import java.util.*;

public class Joseph {
public int getResult(int n) {
LinkedList<integer> arr=new LinkedList<>();
LinkedList<integer> res=new LinkedList<>();
for(int i=1;i<=n;i++) res.add(i);
int m=2;
while(true){
if(arr.size()==0){
for(int i=0;i<res.size();i++){
if(i%m==0) arr.add(res.get(i));
}
if(arr.size()==1) return arr.pop();
res.clear();
arr.addFirst(arr.removeLast());
}else if(res.size()==0){
for(int i=0;i<arr.size();i++){
if(i%m==0) res.add(arr.get(i));
}
if(res.size()==1) return res.pop();
arr.clear();
res.addFirst(res.removeLast());
}
m++;
}
}
}
//到位!!!</integer></integer>

全部评论

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
nus2201602...:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务