题解 | #删数#

删数

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 10:46
点赞 评论 收藏
分享
10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务