顺丰 后端开发 9.6笔试


#顺丰科技#
全部评论
开局半小时整完选择+第一题,然后磨了一个小时,第一题还是27%,属实不知道哪里有问题,把能举的例子全在用例里举了一遍(不会11*12这种相乘也算吧,那我属实没想到),第二题dfs超时=v=,和排序了直接倒着选一样,都只能过18%(第二题铁动态规划,很熟,但是就是不会动态规划哎嘿
2 回复 分享
发布于 2021-09-06 21:07
第一题,符合要求的一定可以化为x11+y111 又有111=11x10+1 故设数字n/10=a n%10=b 如果 a/10>=b,则该数一定符合要求
2 回复 分享
发布于 2021-09-06 21:09
有无大佬说说思路😀
点赞 回复 分享
发布于 2021-09-06 21:02
插眼
点赞 回复 分享
发布于 2021-09-06 21:02
第一题有没有AC代码参考下,不知道为啥只通过18😂
点赞 回复 分享
发布于 2021-09-06 21:02
好难.........
点赞 回复 分享
发布于 2021-09-06 21:03
好难+10086
点赞 回复 分享
发布于 2021-09-06 21:04
第一题ac了 第二题没顶住 像背包?
点赞 回复 分享
发布于 2021-09-06 21:04
我前端的,第二题也是小明不喜欢1,第一题是一个背包问题,问问后端第二题是啥?
点赞 回复 分享
发布于 2021-09-06 21:09
AC代码: void CountNumbers() { int n; cin >> n; vector<long long>ones = { 11, 111}; vector<long long >nums(n); int cnt = 0; for (int i = 0; i < n; ++i) { cin >> nums[i]; if (nums[i] % 11 == 0 || nums[i] % 111 == 0) { cnt++; continue; } long long b = nums[i] % 11; int mul = b; while (true) { if (nums[i] - 111 * mul > 0) { if ((nums[i] - 111 * mul) % 11 == 0) { cnt++; break; } mul += 11; } else  break; } } cout << cnt << endl; } void maxCountGoods() { int n; cin >> n; vector<long long>happy_value(n); for (int i = 0; i < n; ++i) { cin >> happy_value[i]; } priority_queue<long long,vector<long long>, greater<long long> >qu; long long now = 0, cnt = 0; for (int i = 0; i < n; ++i) { now += happy_value[i]; cnt++; if (happy_value[i] < 0)  qu.push(happy_value[i]); while(now < 0 && !qu.empty()) { now -= qu.top(); qu.pop(); cnt--; } } cout << cnt << endl; }
点赞 回复 分享
发布于 2021-09-06 21:11
第一题感觉和LeetCode518很相似。。。。。。
点赞 回复 分享
发布于 2021-09-06 21:21

相关推荐

09-11 03:07
已编辑
湖南大学 Java
Lemon2ee:上海,nlp,985,博士,哪怕少一个我都觉得这是假的
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务