约瑟环求解问题

孩子们的游戏(圆圈中最后剩下的数)

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

//利用链表模拟约瑟夫环,来求解该问题;
public class Solution {
public int LastRemaining_Solution(int n, int m) {
CircleList cl= new CircleList();
cl.add(n);
int val=cl.method(n,m);
return val;
}
}

class CircleList{
private ListNode first=null;

public void add(int maxSize){
     ListNode curNode=first;
     for(int i=0;i<maxSize;i++){
         ListNode node= new ListNode(i);
         if(i==0){
             first=node;
             node.next=first;
             curNode=first;
         }else{
             curNode.next=node;
             node.next=first;
             curNode=node;
         }
     }
}

public int getLength(){
    ListNode temp=first;
    int len=1;
    while(temp.next!=first){
        len++;
        temp=temp.next;
    }
    return len;
}
public int method(int n,int m){
    if(m<1 || n<1) return -1;
    ListNode helper=first;
   // ListNode temp=first;
    while(helper.next!=first){
        helper=helper.next;
    }

    while(true){
        for(int i=0;i<m-1;i++){
            first=first.next;
            helper=helper.next;
        }                
            first=first.next;
            helper.next=first;

        if(helper==first){
            break;
        }
    }
    return helper.val;
}

}

class ListNode{
public int val;
public ListNode next;

public ListNode(){

}

public ListNode(int val){
    this.val=val;
}

}

全部评论

相关推荐

渐好:软光栅真的写明白了吗,既然是软渲那技术栈不应该使用OpenGL,光追和bvh既不算什么高级渲染技术更不应该属于软渲的内容,git那个项目没啥用,建议把前两个项目重新组织一下语言,比如软渲染那个项目 冯着色和msaa、贴图这几项分开写,写的到位点,如果你还学过光追那就单独写出来,如果没把握考官问你答不上来就别写给自己找麻烦,在技术栈那一栏简单提一下自己学过就行,这样杂的放在一起不太严谨,个人愚见.
点赞 评论 收藏
分享
吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务