首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
haha~~
2017-09-02 17:42
西安电子科技大学 C++
关注
已关注
取消关注
拼多多第一题,按照要求输出了,结果只有40%
题中输出的小熊的饥饿值是按输入小熊的顺序输出的。
不知道C++中怎么做的这一点的。我用的方法只通过40%,应该是运行超时了。。
提示
全部评论
推荐
最新
楼层
笑忘书丶
成都信息工程大学 C++
用sort(begin,end,compare),排序两次。第一次按照战斗力排序,第二次按照编号排序。
点赞
回复
分享
发布于 2017-09-03 09:54
sty0223
中国科学技术大学 C++
话说你sort的写法编译能通过?我也这么写的编译就过不去,只好手撸个冒泡排序。。。
点赞
回复
分享
发布于 2017-09-03 09:49
恭喜您顺利入职
家里蹲 Java
妹子刷题量惊人啊
点赞
回复
分享
发布于 2017-09-02 19:08
相不相信玄学呢
杭州电子科技大学 Java
你是没按要求输出,题目要求按给的熊的顺序而不是排序后的熊的顺序
点赞
回复
分享
发布于 2017-09-02 19:02
寻影657
西南交通大学 Java
用例中提供的数据是排序了的
点赞
回复
分享
发布于 2017-09-02 18:45
ker
西北工业大学 C++
要按照原来输入小熊的顺序 输出相应的饥饿值
点赞
回复
分享
发布于 2017-09-02 18:21
haha~~
楼主
西安电子科技大学 C++
#include<iostream> #include<vector> #include<algorithm> using namespace std; bool cmp(int a, int b) { return a > b; } bool cmp1(vector<int>a, vector<int>b) { return a[0] > b[0]; } int main() { int n, m; while (cin >> n >> m) { vector<int>a(m); //糖的能量值 for (int i = 0; i < m; i++) cin >> a[i]; vector<vector<int>>b(n,vector<int>(2)); //存储小熊的战斗力和饥饿值 for (int i = 0; i < n; i++) { for (int j = 0; j < 2; j++) { cin >> b[i][j]; } } sort(a.begin(), a.end(),cmp); vector<vector<int>>b1(b.begin(), b.end()); sort(b1.begin(), b1.end(), cmp1); vector<int>flag(m, 0); vector<int>res(n,0); //存储小熊剩余饥饿值 for (int i = 0; i < n; i++) { int j = 0; int tmp = b1[i][1]; while (j < m) { if (a[j] <= tmp && !flag[j]) { tmp = tmp - a[j]; flag[j] = 1; } j++; } res[i]=tmp; } for (int i = 0; i < n; i++) //输出 { int t = b[i][0]; for (int j = 0; j < n; j++) { if (b[j][0] == t) { cout << res[j] << endl; break; } } } } } 不知道为什么只通过了40%,思路应该没问题,我觉得应该是超时了。求大神指点。
点赞
回复
分享
发布于 2017-09-02 18:17
海强
电子科技大学 C++
这个是我的代码, 也不知道怎么错. 同求高人指点. #include <iostream> #include <algorithm> #include <set> #include <vector> #include <stack> #include <set> #include <list> #include <bitset> #include <cstring> using namespace std; struct Bear { int fight; int hungry; }; int find_h(vector<Bear>& bears) { int i = 0; int h = -1; int idx = -1; while (i < bears.size()) { if (bears[i].hungry <= 0) { i++; continue; } if (h < bears[i].hungry) { h = bears[i].hungry; idx = i; } i++; } return idx; } void bear_eat(vector<Bear> &bears, int idx, vector<int>& suguars) { for (int i = suguars.size() - 1; i >= 0; i--) { if (suguars[i] == -1) continue; else if( suguars[i] > bears[idx].hungry) continue; else { bears[idx].hungry -= suguars[i]; suguars[i] = -1; break; } } } bool can_eat(vector<Bear> &bears, vector<int> &suguars) { vector<int> hs; for (int i = 0; i < bears.size(); i++) { if (bears[i].hungry > 0) { hs.push_back(bears[i].hungry); } } for (int i = 0; i < suguars.size(); i++) { if (suguars[i] > 0) for (auto& h: hs) if (suguars[i] <= h) return true; } return false; } void hdl(vector<Bear>& bears, vector<int>& suguars) { sort(suguars.begin(), suguars.end()); while (can_eat(bears, suguars)) { int most_h = find_h(bears); if (most_h == -1) break; bear_eat(bears, most_h, suguars); } } int main() { int n, m; cin >> n >> m; vector<int> suguars; for (int i = 0; i < m; i++) { int tmp; cin >> tmp; suguars.push_back(tmp); } vector<Bear> bears; for (int i = 0; i < n; i++) { int f = 0, h = 0; cin >> f >> h; bears.push_back({f, h}); } hdl(bears, suguars); for (int i = 0; i < bears.size() - 1; i++) cout << bears[i].hungry << endl; cout << bears[bears.size() - 1].hungry; return 0; }
点赞
回复
分享
发布于 2017-09-02 18:08
暂无评论,快来抢首评~
相关推荐
11-18 09:34
辽宁工程技术大学 Web前端
小厂前端面经
自我介绍css是什么继承的方式,ES5之前该怎么写事件监听方法图片显示标签,用div该怎么实现用标签和js如何实现一个文件上传功能input的属性是什么react组件通信方式useEffect是怎样模拟组件各个生命周期usecallback和usememo用在的场景git的基本操作简单说说虚拟列表的实现原理使用过ai IDE自定义hooks和组件的区别手写题:leetcode2134 如何优化成o(n)
查看13道真题和解析
点赞
评论
收藏
分享
09-27 20:25
江汉大学 行政专员/助理
双非文科,意向人力好难啊!
秋招收到了拒信心凉凉的求建议
小新卖蜡笔aa:
你这好厉害,这也不行嘛
我的秋招日记
点赞
评论
收藏
分享
11-18 23:55
美团_SaaS事业部_软件开发工程师
又起猛了
两年前 成功上岸美团两年后 女朋友也上岸了美团不确定 再看一眼
olook:
接好运
点赞
评论
收藏
分享
11-20 16:59
门头沟学院 Web前端
滴滴用户体验平台前端面经
一面1h 主要都是八股1、水平垂直居中的实现方式2、问position有哪几种属性3、js的数据类型有哪些堆和栈的区别,如果定义的是对象怎么回收4、判断数据类型的方法有哪些,如何判断数组5、从URL输入到最后呈现经历了什么(知道多少说多少)浏览器进程里包含哪些线程js为什么是单线程的6、webpack性能优化的手段7、介绍下强缓存和协商缓存,什么时候用强缓存和协商缓存8、问跨域是什么,如何解决跨域9、问promise有几种状态,之间是如何转换的知道Promise的哪些方法then,catch,finally返回的是什么10、看代码说输出,宏任务和微任务有关的11、代码手写题:数组展平12、问项...
发面经攒人品
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27无实习不投日常了明年3月直接战暑期或者找日常可行吗
3258
2
...
秋招总结,春招加油
1846
3
...
【现金奖励】26秋招薪资爆料征集,瓜分现金红包!
1803
4
...
Gemini3用了吗,前端是不是无了?
1760
5
...
腾讯云智 一面
1621
6
...
不是,现在计算机都喜欢去电网了?
1472
7
...
秋招结束,总结一下吧
1241
8
...
《记不住不是我的错,是为了问你啊!》
1100
9
...
双非不要走后端
881
10
...
去年水灵灵的拿了offer
859
创作者周榜
更多
正在热议
更多
#
OC/开奖
#
200936次浏览
1347人参与
#
材料转码还有必要吗?
#
32145次浏览
152人参与
#
小红书开奖了
#
34980次浏览
168人参与
#
你面试时吹过最大的牛
#
1346次浏览
14人参与
#
设计人的面试记录
#
167124次浏览
1545人参与
#
实习学到最有价值的工作习惯
#
41528次浏览
363人参与
#
百度秋招
#
53067次浏览
390人参与
#
蚂蚁求职进展汇总
#
133466次浏览
1212人参与
#
你知道哪些职场黑话?
#
64868次浏览
449人参与
#
2022毕业即失业取暖地
#
121633次浏览
710人参与
#
正在春招的你,也参与了去年秋招吗?
#
335330次浏览
2563人参与
#
应届生应该先就业还是先择业
#
148218次浏览
746人参与
#
为了秋招你都做了哪些准备?
#
25962次浏览
497人参与
#
科大讯飞工作体验
#
29146次浏览
71人参与
#
那些年,我收到的‘奇葩’回复
#
30636次浏览
179人参与
#
CVTE求职进展汇总
#
26631次浏览
327人参与
#
华为工作体验
#
242838次浏览
1297人参与
#
秋招你经历过哪些无语的事
#
28021次浏览
308人参与
#
实习需要主动找活干吗?
#
56493次浏览
297人参与
#
双非本科的出路是什么?
#
179076次浏览
1457人参与
#
牛客十周岁生日快乐
#
186208次浏览
1829人参与
#
校招薪资来揭秘
#
100802次浏览
621人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务