原题:
Follow up for H-Index: What if the citations
array is sorted in ascending order? Could you optimize your algorithm?
解决方法:
由于已经排序,不需要再次排序,只需二分查找即可。
代码:
int hIndex(vector<int>& citations) {
int len = citations.size();
int low = 0, high = len -1;
while(low <= high){
int mid = (low + high)/2;
if (citations[len - mid - 1] > mid){
low = mid + 1;
}else{
high = mid -1;
}
}
return low;
}