Neo's Blog

不抽象就无法深入思考
不还原就看不到本来面目!

0%

圆圈中最后剩下的数字

题目描述

0, 1, …, n-1这n个数字(n>0)排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。

求出这个圆圈里剩下的最后一个数字。

样例
输入:n=5 , m=3

输出:3

思路

  1. 递归

代码

1
2
3
4
5
6
7
class Solution {
public:
int lastRemaining(int n, int m){
if (n == 1) return 0;
return (lastRemaining(n - 1, m) + m) % n;
}
};
你的支持是我坚持的最大动力!