美文网首页
1.3.37 Josephus问题

1.3.37 Josephus问题

作者: 风亡小窝 | 来源:发表于2016-07-19 13:44 被阅读12次

    解法:

    public static Queue<Integer> Josephus(int num, int integer){
        Queue<Integer> survivors = new Queue<>();
        Queue<Integer> deads = new Queue<>();
        for(int i = 0; i < num; i++){
            survivors.enqueue(i);
        }
        
        for(int i = 1; survivors.size() != 0; i++){
            int person = survivors.dequeue();
            if((i%integer) == 0){
                deads.enqueue(person);
            }else{
                survivors.enqueue(person);
            }
        }
        
        return deads;
    }
    

    测试:

    public static void main(String[] args) {
        System.out.println(Josephus(7, 2)); 
    }
    

    结果:

    1 3 5 0 4 2 6 
    

    相关文章

      网友评论

          本文标题:1.3.37 Josephus问题

          本文链接:https://www.haomeiwen.com/subject/guvmjttx.html