题解 | 孩子们的游戏(圆圈中最后剩下的数)
孩子们的游戏(圆圈中最后剩下的数)
https://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param n int整型
# @param m int整型
# @return int整型
#
class StuLinkedList:
def __init__(self,student_num) -> None:
self.stu_num = student_num
self.next = None
class Solution:
def LastRemaining_Solution(self , n: int, m: int) -> int:
# write code here
head = StuLinkedList(0)
tmp_head= head
i = 1
while i < n :
tmp = StuLinkedList(i)
tmp_head.next = tmp
tmp_head = tmp
i += 1
print(i,n)
if i == n:
tmp.next = head
del_cnt = 0
while del_cnt != n-1 :
if del_cnt == n-1:
break
if m <2:
tmp = head
else:
for i in range(m-2):
head = head.next
tmp = head.next
head.next = head.next.next
head = head.next
tmp.next = None
del_cnt +=1
return head.stu_num

查看16道真题和解析