复习 判断子序列
也是超级简单的问题。y总归纳的双指针模版很好用。
不过这里有一个小坑,就是i , j 。 当a[i] == b[j] i和j都要++ ;
#include<bits/stdc++.h>
using namespace std ;
int n , m ; const int N = 1e5 + 100 ;int a[N] , b[N] ;
int main(){
ios::sync_with_stdio(false) ;
cin >> n >> m ;
for(int i = 1 ; i <= n ; i ++) cin >> a[i] ;
for(int i = 1 ; i <= m ; i++ ) cin >> b[i] ;
bool flag = true ;
for(int i = 1 , j = 1 ; i <= n ; i ++ , j++){
while( j<=m && a[i] != b[j]) j++ ;
// cout<<j<<endl;
if(a[i] != b[j]) { flag = false ; break; } //可以提前break
}
if(flag)
cout<<"Yes";
else cout<<"No";
return 0 ;
}