题解 | #删数#

删数

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")

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务