题解 | #删数#

删数

https://www.nowcoder.com/practice/f9533a71aada4f35867008be22be5b6e

#include <iostream>
#include <vector>
using namespace std;

int FindTheLastDeleted(int N) {
    vector<int> arr;
    for (int i=0; i<N; i++){
        arr.push_back(i);
    }

    int index = 0;

    while(arr.size()>1){
        index = ((index + 2) % arr.size());
        arr.erase(arr.begin()+index);
    }

    return arr[0];
}

int main() {
    int N;
    while (cin >> N) { // 注意 while 处理多个 case
        cout<<FindTheLastDeleted(N)<<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
06-26 15:35
武汉大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务