| 1234567891011121314151617 | 
							- func hIndex(citations []int) int {
 
- 	// Target: find the first h that h <= citations[n-h]
 
- 	n := len(citations)
 
- 	beg, end := 0, n
 
- 	for beg < end {
 
- 		mid := beg + (end-beg)/2
 
- 		h, citation := n-mid, citations[mid]
 
- 		if h < citation {
 
- 			end = mid
 
- 		} else if citation < h {
 
- 			beg = mid + 1
 
- 		} else {
 
- 			return h
 
- 		}
 
- 	}
 
- 	return n - beg
 
- }
 
 
  |