Title description
AC code
/*
题意:升序排列的数组中最多有h个数大于等于h,求h最大是多少。
如,citations = [0,1,3,5,6],最多有3个数大于等于3.
注意:
1.l和r的边界
2.二分的条件
*/
class Solution {
public int hIndex(int[] citations) {
int l=0,r=citations.length;
while(l<r){
int mid=l+r+1>>1;
if(citations[citations.length-mid]>=mid)
l=mid;
else
r=mid-1;
}
return r;
}
}