--- title: "圆圈中最后剩下的数字" created: 2025-11-28 tags: - 算法 --- # 圆圈中最后剩下的数字 ## 题目 [圆圈中最后剩下的数字](https://www.acwing.com/problem/content/description/78/) ![[image-1f9b0368.png]] ## 思路分析 约瑟夫问题 在双链表里使用模拟解决过 圆圈中最后剩下的数字 其实还可以用递归递推来写 ![[image-5e100876.png]] ## 代码实现 ```java class Solution { public: int lastRemaining(int n, int m){ if(n==1) return 0; return (lastRemaining(n-1,m)+m)%n; } }; ``` ```java class Solution { public: int lastRemaining(int n, int m){ int last = 0; for (int i = 2; i <= n; i++) { last = (last + m) % i; } return last; } }; ``` ## 同类题型 ## 视频讲解 --- ⬅️ [[吃糖果|吃糖果]] 🏠 [[00-刷题理模型]] ➡️ [[斐波那契字符串|斐波那契字符串]]