Python圆圈中剩下的数字
  • 日期2020-01-21
  • 评论 0
  • 阅读 443
  • 分类 Python笔记
  • 字数 391

Python圆圈中剩下的数字

递推公式:f[i] = (f[i-1]+m)%i

'''
0, 1, 2, n-1这n个数字排成一个圆环, 从数字0开始每次从这个圆圈里删除第m个数字
求这个圆圈中最后剩下的一个数字
'''

# -*- coding:utf-8 -*-
class Solution:
    def LastRemaining_Solution(self, n, m):
        if n < 1 or m < 1:
            return -1
        remainIndex = 0
        for i in range(1, n+1):
            remainIndex = (remainIndex + m) % i
        return remainIndex

评论 (0)