动态规划

孩子们的游戏(圆圈中最后剩下的数)

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
05-28 12:15
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务