动态规划
孩子们的游戏(圆圈中最后剩下的数)
https://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6
class Solution: # 动态规划:dp(n) = (dp(n - 1) + m) % n # 自己删掉第m个后,重新摆一下就知道了。 # 用来描述的、最终求解的,都是第几位第几位。 # 所以dp(n)删除第m位后再求解,就等价于,dp(n-1)先移动m位再求解 def LastRemaining_Solution(self, n: int, m: int) -> int: dp = 0 for i in range(2, n + 1): dp = (dp + m) % i return dp