#include <iostream>
using namespace std;
int get_square_n(int*a, int i, int j){
int cnt = 0;
while(i < j){
while(i<j && (a[i]*a[i]) == (a[j]*a[j])){
i++;
j--;
}
if(a[i]*a[i]<a[j]*a[j]){
while(i<j && a[i]*a[i]==a[i+1]*a[i+1])
i++;
i++;
}else{
while(i<j && a[j]*a[j]==a[j-1]*a[j-1])
j--;
j--;
}
cnt++;
}
return cnt;
}
int main() {
int a[] = {-3,-3,-2,-1,0,1,2,3,5,5};
cout<<get_square_n(a, 0, 9) <<endl;
return 0;
}
頭條面試題-統計有序數組裏平方和的數目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.