来源:投稿 作者:LSC
编辑:学姐
总共45分钟
讲的比较多,20分钟,面试官还问了我在实习中遇到的困难和体会等,然后面试官给我介绍了他们的现在的项目。
我们有一些自动驾驶车在运行。自动车行驶时会有2种情况,需要安全员接管和全自动驾驶。
给定N个需要安全员接管的时段,每个时段都会包括开始和结束的时间 [[s1,e1],[s2,e2],…] (si < ei),为避免冲突,同时要考虑充分利用资源,请你计算至少需要多少个安全员,才能满足安排。
示例 1:
输入: [[7,10],[2,4]]
输出: 1
示例 2:
输入: [[0, 30],[5, 10],[15, 20]]
输出: 2
一开始以为是贪心,后来以为是树状数组或者线段树,后来面试官提醒是差分。
- #define _CRT_SECURE_NO_WARNINGS
- #include<iostream>
- #include<cstdio>
- #include<string>
- #include<queue>
- #include<stack>
- #include<map>
- #include<vector>
- #include<set>
- #include<algorithm>
- using namespace std;
- int n;
- struct Node
- {
- int s, e;
- };
- Node node[105];
- int a[100005] = { 0 };
- int sum[100005] = { 0 }, ans = 0;
- int main()
- {
- scanf("%d", &n);
- for (int i = 0; i < n; ++i)
- {
- int s, e;
- scanf("%d%d", &s, &e);
- node[i].s = s;
- node[i].e = e;
- a[s]++;
- a[e]--;
- }
- for (int i = 0; i < n; ++i)
- {
- for (int j = node[i].s; j <= node[i].e; ++j)
- {
- sum[j] = sum[j - 1] + a[j];
- ans = max(ans, sum[j]);
- }
- }
- printf("%d\n", ans);
- return 0;
这次面试体验很好,美团真的是面试过程非常开心的公司,想去,三年前也是它第一个给我暑期实习offer的,希望这次还能是。
关注下方《学姐带你玩AI》🚀🚀🚀
算法工程师万能简历公式+200多个简历模板(中英文)
回复“简历”轻松获取!
码字不易,欢迎大家点赞评论收藏!