package com.fishercoder.solutions;

/**
 * 275. H-Index II
 * Follow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize your algorithm?
 */
public class _275 {

    public int hIndex(int[] citations) {
        int left = 0;
        int len = citations.length;
        int right = len - 1;
        while (left <= right) {
            int mid = left + (right - left) / 2;
            if (citations[mid] >= (len - mid)) {
                right = mid - 1;
            } else {
                left = mid + 1;
            }
        }
        return len - left;
    }

}

@@ -52,16 +52,19 @@
 ndex II%0A
+ *%0A
  * Follo
@@ -138,16 +138,19 @@
 g order?
+%0A *
  Could y
@@ -201,17 +201,56 @@
  _275 %7B%0A
-%0A
+    public static class Solution1 %7B%0A    
     publ
@@ -286,24 +286,28 @@
 ) %7B%0A        
+    
 int left = 0
@@ -312,24 +312,28 @@
  0;%0A        
+  
+  
 int len = ci
@@ -352,24 +352,28 @@
 th;%0A        
+    
 int right = 
@@ -389,16 +389,20 @@
         
+ 
+   
 while (l
@@ -425,24 +425,28 @@
             
+   
+ 
 int mid = le
@@ -470,16 +470,20 @@
 t) / 2;%0A
+    
         
@@ -539,16 +539,20 @@
         
+  
+  
 right = 
@@ -556,24 +556,28 @@
  = mid - 1;%0A
+    
             
@@ -601,16 +601,20 @@
         
+    
 left = m
@@ -625,32 +625,36 @@
  1;%0A            
+    
 %7D%0A        %7D%0A    
@@ -639,32 +639,36 @@
       %7D%0A        
+ 
+   
 %7D%0A        return
@@ -661,16 +661,20 @@
         
+ 
+   
 return l
@@ -688,13 +688,22 @@
 ft;%0A    
+    %7D%0A    
 %7D
-%0A
 %0A%7D%0A

refactor 275