LeetCode 274 H-Index

LeetCode 274

H-Index

  • Problem Description:
    h-index又称为h指数或h因子(h-factor),是一种评价学术成就的新方法。h代表“高引用次数”(high citations),一名科研人员的h指数是指他至多有h篇论文分别被引用了至少h次。题目给出一个数组,求出对应的h-index。
    具体的题目信息:
    https://leetcode.com/problems/h-index/description/
  • Solution:
    • 解题思路:先排序,将数组大小记为num,从头开始遍历排序后的数组,如果第一个元素大于num,意味着后面的num-1和元素也满足大于num的条件,此时的num即为h。否则,num递减,从数组的第二个元素开始判断,以此类推。
class Solution {
public:
    int hIndex(vector<int>& citations) {
        if (citations.size() == 0) return 0;
        int num = citations.size();
        sort(citations.begin(), citations.end());
        for (int i = 0; i < citations.size(); i++) {
            if (citations[i]>=num) {
                return num;
            } else {
                num--;
            }
        }
        return 0;
    }
};

猜你喜欢

转载自blog.csdn.net/shey666/article/details/80746532