[AcWing 2816] 判断子序列

点击查看代码
#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N], b[N];
int main()
{
int n, m;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i ++) scanf("%d", &a[i]);
for (int i = 0; i < m; i ++) scanf("%d", &b[i]);
int i = 0, j = 0;
while (i < n && j < m) {
if (a[i] == b[j]) i ++;
j ++;
}
if (i == n) puts("Yes");
else puts("No");
return 0;
}
- 每次匹配成功,把 i 指针右移,最后判断 i 是否移动到了 n;

浙公网安备 33010602011771号