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