第二個側資點TLE了...
想請問除了從第一個搜尋到最後一個
或者二元搜尋法
有什麼更快的方法呢??@@?
一直TLE打擊真大|||
#include<iostream>
using namespace std;
int main(){
int count , total , j = 0 , k = 0 , decide = 0 ;
scanf("%d%d" , &count , &total);
int num , str[total];
for(int i = 0 ; i < count ; i++){
int sum = 0 ;
int top = 0 ;
for(j = 0 ; j < total ; j++)/**輸入第一行字串*/
cin >> str[j];
for(int k = 0 ; k < total ; k++){
cin >> num; /**讀取*/
for(j = top ; j < total ; j++)/**搜尋*/
if(num < str[j]){/**如果字串大於搜尋,因為題目字串是循序*/
top = j ;
break;
}
else if(num == str[j]){/**如果相等*/
top = j ;
sum++ ;
break;
}
}
cout << sum << endl;
}
system("PAUSE");
return 0;
}
這是我的程式碼,
請高手給個指教謝謝!!