LeetCode:H-Index II

来源:互联网 发布:精英男 知乎 编辑:程序博客网 时间:2024/05/16 15:33

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:

  1. 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;    }}


0 0