您的位置:首页 > 其它

LeetCode:H-Index II

2016-06-01 19:20 197 查看


H-Index II

Total Accepted: 24331 Total
Submissions: 74459 Difficulty: Medium

Follow up for H-Index:
What if the 
citations
 array is sorted in ascending order? Could you optimize your algorithm?
Hint:
Expected runtime complexity is in O(log n) and the input is sorted.

Subscribe to see which companies asked this question

Hide Tags
 Binary Search

Hide Similar Problems
 (M) H-Index

思路:

承接上题【】,与上题不同之处在于已经是排序的,因此通过二分找到临界点即可。

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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: