精简易懂版本

约瑟夫问题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>

全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务