编程笔试(解析及代码实现):孩子们的游戏(圆圈中最后剩下的数)。每年六一儿童节,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那
目录
题目描述
孩子们的游戏(圆圈中最后剩下的数)。每年六一儿童节,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中。从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下最后一个小朋友,可以不用表演(注:小朋友的编号是从0到n-1) 。如果没有小朋友,请返回-1。
代码实现
# -*- coding:utf-8 -*-
class Solution:
def LastRemaining_Solution(self, n, m):
# write code here
if not m or not n:
return -1
lists = range(n)
i_pos = 0 #起始位置 initial_position