标签:
思路:
承接上题【】,与上题不同之处在于已经是排序的,因此通过二分找到临界点即可。
java code:
public class Solution { public int hIndex(int[] citations) { if(citations == null || citations.length == 0) return 0; int len = citations.length; int lo = 0, hi = len-1; while(lo <= hi) { int mid = lo + (hi-lo)/2; if(citations[mid] == len - mid) return len-mid; else if(citations[mid] >= len - mid) hi = mid - 1; else lo = mid + 1; } return len-lo; } }
标签:
原文地址:http://blog.csdn.net/itismelzp/article/details/51558339