题解 | #孩子们的游戏(圆圈中最后剩下的数)#
孩子们的游戏(圆圈中最后剩下的数)
http://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6
引用vector容器,很简单实现数组删除,号称全网最简单的,方便理解。
public:
int LastRemaining_Solution(int n, int m) {
vector<int>v1;
for (int i = 0; i < n; i++) {
v1.push_back(i);
}
int k = 0;
while (v1.size() != 1) {
int j = m - 1;
k = k + j;
while (k >= v1.size()) k = k - v1.size();
v1.erase(v1.begin() + k);
}
return v1[0];
}
};