274. H 指数

​​题目来源:

        leetcode题目,网址:274. H 指数 - 力扣(LeetCode)

解题思路:

       对各论文引用次数进行计数。然后从被引用次数最多开始判断(每次减一),若被引用次数大于等于该被引用次数 的论文数量 大于等于该论文被引用次数,则其即为所求。

解题代码:

class Solution {
public:
    int hIndex(vector& citations) {
        int size=citations.size();
        vector cnt(1001);
        for(int i=0;i=0;i--){
            noLessThan+=cnt[i];
            if(noLessThan>=i){
                return i;
            }
        }
        return -1;
    }
};

总结:

        官方题解给出了三种解法。第一种是排序。排序后倒序遍历数组,若 当前值大于等于当前 h ,则 h+1。第二种是计数排序。第三种是二分搜索。若 有 mid 个数大于等于当前 mid,则所求数在当前数的右边,否则在其左边。重复此操作缩小区间直至其为 1.


你可能感兴趣的:(#,C++,LeetCode,C++)