链表解法

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

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

java解法

import java.util.LinkedList;
public class Solution {
    public int LastRemaining_Solution(int n, int m) {
        if(n<=0) return -1;
        if(n==1) return 1;

        LinkedList<Integer> arr = new LinkedList();
        for(int i=0;i<n;++i)
            arr.add(i);
        int index = -1;
        int size = arr.size();
        while(size>1)
        {
            int t = m+index;
            while(t>=size) t-=size;
            index = t;
            arr.remove(index--);
            size--;
        }
        return arr.get(0);
}}
全部评论

相关推荐

爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
2024-11-09 11:37
已编辑
北京航空航天大学 算法工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务