当前位置: 首页 > 面试经验 >

大疆笔试20240818 C++音视频开发

优质
小牛编辑
76浏览
2024-08-19

大疆笔试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;
}

#大疆的机械笔试比去年难吗##大疆求职进展汇总##大疆##笔试#
 类似资料: