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

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

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @param m int整型 
# @return int整型
#
class Solution:
    def LastRemaining_Solution(self , n: int, m: int) -> int:
        # write code here
        # 循环队列q:由列表实现。
        # 下标从0开始
        # 当q中元素大于一个的时候,循环执行:下标 i += m - 1 , 当i > len(q) -1 的时候,i = i% len(q) ,删除下标为i的元素。
        q = [ i for i in range(n)]
        i = 0 
        while len(q) != 1:
            i += (m - 1)
            if i > len(q) - 1:
                i = i % len(q)
            # print(i,q[i])
            del q[i]

        return q[0]

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务