美文网首页
[java]约瑟夫环问题

[java]约瑟夫环问题

作者: 第六象限 | 来源:发表于2017-11-20 13:56 被阅读0次

    约瑟夫环问题:一圈共有N个人,开始报数,报到M的人自杀,然后重新开始报数,问最后自杀的人是谁?

    //链表实现
    public class Node{
        public int value;
        public Node next;
        
        public Node(int data){
            this.value=data;
        }
    }
    public Node josephuskill(Node head,int m){
        if(head==null||head.next==head||m<1){
            return head;
        }
        Node last=head;
        while(last.next!=head){
            last=last.next;
        }
        int count=0;
        while(head!=last){
            if(++count==m){
                last.next=head.next;
                count=0;
            }
            else{
                last=last.next;
            }
            head=last.next;
        }
        return head;
    }

    相关文章

      网友评论

          本文标题:[java]约瑟夫环问题

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