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

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

https://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @param m int整型 
 * @return int整型
 */
export function LastRemaining_Solution(n: number, m: number): number {
    // 将他们依次放在一个队列的数据结构中,当叫到的不是m-1的小朋友放到队列的后面,叫到的就离开,进行循环,直到剩下最后一个小朋友就是赢家
    const stack = []
    for(let i = 0;i < n;i++){
        stack.push(i)
    }
    let count = 0
    while(1){
        if(stack.length === 1){
            return stack[0]
        }
        if(count != m - 1){
            const res = stack.shift()
            stack.push(res)
            count++
        }else{
            stack.splice(0,1)
            count = 0
        }
    }
}

全部评论

相关推荐

2025-11-28 13:56
已编辑
门头沟学院
所有好工作吻上来:最近可能压力比较大吧,面试的时候已经不屑于去说一些违心的话了,今天这场面试我真是没控制住啊,感觉我已经要发火了
实习学到最有价值的工作习...
点赞 评论 收藏
分享
2025-12-15 14:25
云南大学 Java
lei22:入职可能会看学信网,最好别伪装,这个简历找实习肯定是够的,肯定会有收 28 届实习生的公司的,多投就行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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