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

环形链表的约瑟夫问题

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);
    }
}
全部评论

相关推荐

刚在隔壁看到字节都有11面的了,有这么离谱吗
迷茫的大四🐶:11面?超级耐面王,或者说历史面试次数得分王
一起聊字节
点赞 评论 收藏
分享
昨天 16:25
门头沟学院 Java
投递长江存储等公司10个岗位
点赞 评论 收藏
分享
09-10 15:05
已编辑
门头沟学院 游戏后端
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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