剑指 Offer 62. 圆圈中最后剩下的数字

思路
约瑟夫环,只是不是链表
暴力法不可以
参考
剑指 Offer 62. 圆圈中最后剩下的数字(数学 / 动态规划,清晰图解) - 圆圈中最后剩下的数字 - 力扣(LeetCode) (leetcode-cn.com)
这里推导有点难懂
存在递推 dp[i]=(dp[i−1]+m)%i
最后返回dp[n]
代码
public int lastRemaining(int n, int m) {
int []dp=new int[n+1];
for(int i=2;i<=n;i++){
dp[i]=(dp[i-1]+m)%i;
}
return dp[n];
}
博客探讨了约瑟夫环问题的解决方案,重点在于使用动态规划的方法来计算给定人数和起始点时,圆圈中最后剩下的数字。通过递推公式dp[i]=(dp[i−1]+m)%i进行计算,并给出相应代码实现。文章适合对算法和动态规划感兴趣的读者深入理解该问题。
355

被折叠的 条评论
为什么被折叠?



