大疆笔试20240818 C++音视频开发
6道单选
6道多选
5道判断
2道编程
编程题(1):有很多个机场,编号1~2^20,一开始所有机场都没有飞机,给你所有 有飞机降落的机场编号 和 有飞机起飞的机场编号 ,每次只降落或起飞一架飞机,求最后时刻还停留1~15架飞机的机场个数。
#include<iostream>
using namespace std;
int n, m;
int num[1 << 20 | 1];
int ans[16];
int main() {
cin >> n;
while (n--) {
int a;
cin >> a;
num[a]++;
}
cin >> m;
while (m--) {
int a;
cin >> a;
num[a]--;
}
for (int i = 1; i <= (1 << 20); i++) {
if (num[i] > 15)continue;
ans[num[i]]++;
}
for (int i = 1; i <= 15; i++)cout << ans[i] << " ";
return 0;
}
编程题(2):给你一个只包含0和1的字符串,每次操作能把字符串内所有01变成10,求多少次操作以后字符串内没有01。
#include<iostream>
#include<cstring>
using namespace std;
const int N = 1000010;
int ans,cnt;
int dp[N],loc[N];
string s;
int main() {
cin >> s;
int i;
for (i = 0; i < s.size(); i++) {
if (s[i] == '1')loc[++cnt] = i;
}
for (i = 0; i < s.size(); i++) {
if (s[i] == '0')break;
dp[i + 1] = 0;
}
for (int op = i+1; op <= cnt; op++) {
dp[op] = max(dp[op - 1] + 1, loc[op] - (op - 1));
}
for (i = 1; i <= cnt; i++)ans = max(ans, dp[i]);
cout << ans;
return 0;
}
#大疆的机械笔试比去年难吗##大疆求职进展汇总##大疆##笔试#
查看14道真题和解析
文远知行公司福利 520人发布