帮帮蒟蒻吧
查看原帖
帮帮蒟蒻吧
1057133
koromu楼主2023/11/24 18:57
#include <iostream>

using namespace std;
const int N = 100010;
int a[N], b[N];
int n, m, c;
int main()
{
	cin >> n >> m;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	for (int i = 0; i < m; i++)
		cin >> b[i];
	if (n < m)
	{
		swap(a, b);
		swap(n, m);
	}
	for (int i = 0, j = 0; i < m && j < n; i++)
	{
		while (a[j] < b[i] && j < n)//如果a[j]小了, 就往后看a中元素, 相等就不用
		{
			j++;
		}
		if (a[j] == b[i] && j < n)
		{
			c++;
			j++;
		}//如果不相同, 说明a中没有元素和b相同, i可以往后移动
	}
	cout << c;
	return 0;
}

当局者迷呀, 求帮助

2023/11/24 18:57
加载中...