#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
int first[10000];
int second[10000];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, m, ans, temp = 0;
cin >> n >> m;
while(n--){
for(int i = 0; i < m; i++){
cin >> first[i];
}
for(int i = 0; i < m; i++){
cin >> second[i];
}
ans = 0;
for(int i = 0; i < m; i++){
for(int j = temp; j < m; j++){
if(first[i] == second[j]){
ans++;
int temp = j;//不用從0開始跑
break;
}
}
}
cout << ans << endl;
}
return 0;
}
for(int i = 0; i < m; i++){
for(int j = temp; j < m; j++){
if(first[i] == second[j]){
ans++;
int temp = j;//不用從0開始跑
break;
}
}
}
1. 你temp宣告了兩次,導致j還是從0開始跑
2. 當first[i]<second[j]時,就可以break了,之後second一定越來越大,不可能重複