美团8.13笔试(后端/软件/数据)

编程题AC情况#投票##美团#
全部评论
问下第四题(那个三元组的)为什么暴力解法只有82,是超时了吗
3 回复 分享
发布于 2022-08-13 17:38
五个题都做出来了,但是第一次用赛马,不知道可以提交。 现在要怎么看通过率啊😣
点赞 回复 分享
发布于 2022-08-13 18:09
第四题AK代码 struct Node { vector<int> pos; }; int main() { int n; cin >> n; vector<int> res(n); unordered_map<int, Node*> map; //以值为键 for (int i = 0; i < n; ++i) { cin >> res[i]; if (map.find(res[i]) == map.end()) { //没找到,需要新建 Node* node = new Node; node->pos.push_back(i); map[res[i]] = node; } else { Node* node = map[res[i]]; node->pos.push_back(i); } } long long int count = 0; for (int j = 1; j < n; ++j) { unordered_map<int, long long int> jmap; //sum的值对应的数目 for (int k = j + 1; k < n; ++k) { int sum = 3 * res[j] - res[k]; if (map.find(sum) != map.end()) { if (jmap.find(sum) == jmap.end()) { Node* node = map[sum]; int length = node->pos.size(); long long int tmp = 0; for (int p = 0; p < length; ++p) { if (node->pos[p] < j) { ++tmp;; } else { break; } } jmap[sum] = tmp; count += tmp; } else { count += jmap[sum]; } } } } cout << count; }
点赞 回复 分享
发布于 2022-08-13 18:02
能不能加个路过
点赞 回复 分享
发布于 2022-08-13 18:02
扫地机器人那道题,数据好奇怪。我一开始不确定m和n哪个是行哪个是列。然后想先试试吧,反正挺简单的这个不行就是哪个,先m行n列,ac了。然后把m和n换了换,还是ac。。。 当场凌乱。。。。
点赞 回复 分享
发布于 2022-08-13 17:46

相关推荐

迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务