题解 | #孩子们的游戏(圆圈中最后剩下的数)#

孩子们的游戏(圆圈中最后剩下的数)

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];
    }
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务