题目描述
思路分析
二分
另外,有序+O(logn)复杂度是对二分最好的暗示。
代码实现
class Solution {
public:
int hIndex(vector<int>& citations) {
int l=0,r=citations.size()-1;
while(l<r){
int mid=l+r>>1;
if(citations[mid]>=citations.size()-mid) r=mid;
else l=mid+1;
}
if(citations[r]>=citations.size()-r) return citations.size()-r;
else return 0;
}
};