360笔试第二题AC代码

攒人品啊,攒人品

看到好多dfs的解法,其实用两层DP解就可以了,代码中的unordered_set不喜欢用,用个N大小的bool数组也是可以的

顺便发一下,上次顺丰最后一道学术交流所使用的并查集的总结博客,只有总结没有代码。地址是并查集.

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

int main(){
    int N, M; cin >> N >> M;
    vector<int> nums(M);
    for(int i = 0; i < M; ++i) cin >> nums[i];
    unordered_set<int> last;
    for(int i = 1; i <= N; ++i){
        last.insert(i);
    }
    for(int i = 0; i < M; ++i){
        unordered_set<int> cur;
        for(int x : last){
            if(x + nums[i] <= N) cur.insert(x + nums[i]);
            if(x - nums[i] >= 1) cur.insert(x - nums[i]);
        }
        last = cur;
    }
    cout << last.size() << endl;
    return 0;
}

最后,求个offer啊,生活太艰难了

#360公司##笔试题目##题解#
全部评论

相关推荐

07-11 13:16
湖南工学院 Java
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
评论
3
5
分享

创作者周榜

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