题目描述:
0, 1, …, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数.
完整代码:
class Solution {
public:
int LastRemaining_Solution(int n, int m)
{
//检查输入的合法性
if(n < 1 || m < 1)
return -1;
//声明一个变量 last,表示最后的结果
int last = 0;
for(int i = 2; i <= n; ++i)
last = (last + m) % i;
//返回最后的结果
return last;
}
};