题目描述
判断子序列 双指针算法。
C++ 代码
#include <iostream>
using namespace std;
const int N = 100010;
int n, m;
int a[N], b[N];
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];
int i, j;
for(j = 0, i = 0; j < m; j ++) {
while(a[i] == b[j] && i < n) {
i ++;
j ++;
}
if(i >= n) {
cout << "Yes";
break;
}
}
if(j >= m && i < n)
cout << "No";
}