语言:python
思路:构建一个1~n的数组,把数到m的位置移除

def lispos(data,star,m):    
    ln = len(data)
    star = star % ln
    curp = star
    stp = m%(ln)
    curp = stp + curp
    if curp>ln:
        curp = curp - ln
    elif curp ==0:
        curp = ln
    return curp-1
class Solution:
    def ysf(self , n , m ):
        peop = []
        for i in range(n):
            peop.append(i+1)
        ln = n
        star = 0
        while ln > 1:
            star = lispos(peop, star, m)
            peop.pop(star)
            ln = ln - 1
        return peop[0]