题解 | #孩子们的游戏(圆圈中最后剩下的数)#
孩子们的游戏(圆圈中最后剩下的数)
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]