int LastRemaining_Solution(int n, int m)
{
if (n<=1||m<1)
{
return -1;
}
vector<int> vec(n);
int index(-1);
int count(n-1);
while (count)
{
int k(m);
while (k)
{
index++;
index = index%n;
if (vec[index]!=-1)
{
k--;
}
}
vec[index] = -1;
count--;
}
for (auto i = 0; i < vec.size();++i)
{
if (!vec[i])
{
return vec[i];
}
}
return -1;
}
【剑指offer】题45:圆圈中最后剩下的数字
最新推荐文章于 2022-02-21 16:49:55 发布