1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
   | public class HIndex {   public static int solution(int[] citations){     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
      int n = citations.length;     int left = 0;     int right = n;     while(left <= right){       int mid = (left+right) >> 1;       if (citations[mid] == n-mid){         return citations[mid];       }       else if (citations[mid] < n-mid){         left = mid+1;       }       else         right = mid-1;     }     return n-(right+1);   }   public static void main(String[] args){
    } }
  |