阿里巴巴8月3日笔试试题

第一题:小明有n个朋友,每个朋友有一定数量的钱去买房子,每个房子有舒适度和价格。
要求:1、一个人最多买一个房子。2、每个房子只能被一个人买。3、钱数必须大于房子价格。
问:如何买房子,使得舒适度之和最大。

第二题:给定字符串N,只包含abcdef,求子序列最大长度,子序列可以不连续。
要求:1、a必须在c、e前面,c必须在e前面。
2、b必须在d、f前面,d必须在f前面。

就记住这么多啦。
#笔试题目##阿里巴巴#
全部评论
好难啊
点赞 回复 分享
发布于 2020-08-03 20:17
第一题,题目中说拥有的钱必须比房价多,才能买房子。但是例子表明只需要相等就可以了。按照相等处理即可。另外,结果需要使用 64 位整型或者更大来保存,之前我用了 int,结果死活过不了,浪费我 20 分钟,哎。
点赞 回复 分享
发布于 2020-08-03 20:19
想的头皮发麻
点赞 回复 分享
发布于 2020-08-03 20:29
有大佬分享思路么
点赞 回复 分享
发布于 2020-08-03 20:39
第一题题解: void question1(){     int n, m;     cin >> n >> m;     map<int, int> money;     vector<vector<int>> house(m, vector<int>(2, 0));     for(int i=0;i<n;i++){         int k;         cin >> k;         money[k]++;     }     for(int i=0;i<m;i++){         cin >> house[i][0]; // 舒适度         cin >> house[i][1]; // 价格     }     sort(house.begin(), house.end(), [](const vector<int>& a, const vector<int>& b){         return a[0] > b[0]; // 按照舒适度降序排列     });     int res = 0;     // 优先买舒适度高的     for(int i = 0; i < house.size(); i++){         int sushi = house[i][0]; // 舒适度         int price = house[i][1];         // 找到拥有的钱刚刚超过或等于房价的那个人         // 把有更多钱的留着         auto it = money.lower_bound(price);         if(it != money.end()){             it->second--;             res += sushi;             if(it->second == 0){                 money.erase(it);             }         }         if(money.empty()){             break;         }     }     cout << res; }
点赞 回复 分享
发布于 2020-08-03 22:31
转https://blog.csdn.net/qq_22522375/article/details/107771758
点赞 回复 分享
发布于 2020-08-09 11:37

相关推荐

评论
4
7
分享

创作者周榜

更多
正在热议
更多
# 听劝,这个简历怎么改 #
14116次浏览 183人参与
# 面试被问“你的缺点是什么?”怎么答 #
6486次浏览 100人参与
# 水滴春招 #
16636次浏览 364人参与
# 入职第四天,心情怎么样 #
11356次浏览 63人参与
# 租房找室友 #
8060次浏览 53人参与
# 读研or工作,哪个性价比更高? #
26200次浏览 356人参与
# 职场新人生存指南 #
199308次浏览 5519人参与
# 参加完秋招的机械人,还参加春招吗? #
27030次浏览 276人参与
# 文科生还参加今年的春招吗 #
4122次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48639次浏览 561人参与
# 你见过最离谱的招聘要求是什么? #
144724次浏览 829人参与
# 如果重来一次你还会读研吗 #
155733次浏览 1706人参与
# 机械人选offer,最看重什么? #
69078次浏览 449人参与
# 选择和努力,哪个更重要? #
44330次浏览 494人参与
# 如果再来一次,你还会学硬件吗 #
103653次浏览 1245人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20529次浏览 414人参与
# 招聘要求与实际实习内容不符怎么办 #
46804次浏览 494人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4654次浏览 27人参与
# 你们的毕业论文什么进度了 #
901356次浏览 8961人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81380次浏览 496人参与
# 国企还是互联网,你怎么选? #
109200次浏览 853人参与
牛客网
牛客企业服务