约瑟夫环。
有个简单的推导过程,我们可以根据每x个人出环得出从最后到开始每一次出环的人的编号。这里不再说明。
class Solution {
public:
int LastRemaining_Solution(unsigned int n, unsigned int m)
{
if(n == 0 || m == 0)
return -1;
int num = 0;
for(int i = 2; i <= n; i++)
{
num = (num + m) % i;
}
return num;
}
};