题解 | #环形链表的约瑟夫问题#

环形链表的约瑟夫问题

http://www.nowcoder.com/practice/41c399fdb6004b31a6cbb047c641ed8a

alt



public class Solution {
    /**
     * 
     * @param n int整型 
     * @param m int整型 
     * @return int整型
     */
    public int ysf (int n, int m) {
        // write code here
        if(n == 1 && m == 1){
            return 1;
        }
        
        ArrayList<Integer> list = new ArrayList<>();
        for( int i = 1; i <= n; i++){
            list.add(i);
        }
        int start = 0;
        int del = 0;
        while(list.size() != 1){
            // 找到要移除的位置
            del = (start + m -1) % list.size();
            start = del;
            list.remove(del);
        }
        return list.get(0);
    }
}
全部评论

相关推荐

哈哈哈哈哈哈哈哈哈哈这个世界太美好了
凉风落木楚山秋:毕业出路老师不管,你盖个章他好交差就完事了,等你盖完毕业了就不关他事情了
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务