力扣274题——H指数

131 阅读1分钟

274. H 指数

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 **h 指数

根据维基百科上 h 指数的定义h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至少 有 h 篇论文被引用次数大于等于 h 。如果 h 有多种可能的值,h 指数** 是其中最大的那个。

思路

  1. 对数组进行排序
  2. 一次循环遍历,判断剩余文章的数量是否大于当前文章数(因为已经排序,第一个符合条件即是结果)

代码:

class Solution {
public:
    int hIndex(vector<int>& citations) {
        int n = citations.size();
        sort(citations.begin(), citations.end());
        int front = 0;
        int end = n - 1;
        int mid;
        for(int i = 0; i < n; i++) {
            if((n - i) <= citations[i]) return n - i;
        }
        return 0;
    }
};