Leetcode 275. H-Index II

时间:2022-05-06
本文章向大家介绍Leetcode 275. H-Index II,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Follow up for H-Index: What if the citations array is sorted in ascending order? Could you optimize your algorithm?

接上一篇,数组升序排列。

一看就是二分,需要注意边界,仔细想想。

class Solution {
public:
    int hIndex(vector<int>& citations) {
        int mid = -1, l = 0, r = citations.size()-1;
        while(l <= r)
        {
            mid = (l + r) >> 1;
            if(citations.size() - mid == citations[mid]) return citations[mid];
            else if(citations.size() - mid > citations[mid]) l = mid + 1;
            else r = mid - 1;
        }
        return citations.size() - r - 1;
    }
};