zoukankan      html  css  js  c++  java
  • LeetCode OJ:H-Index(H指数)

    Given an array of citations (each citation is a non-negative integer) of a researcher, write a function to compute the researcher's h-index.

    According to the definition of h-index on Wikipedia: "A scientist has index h if h of his/her N papers have at least h citations each, and the other N − h papers have no more than h citations each."

    For example, given citations = [3, 0, 6, 1, 5], which means the researcher has 5 papers in total and each of them had received 3, 0, 6, 1, 5 citations respectively. Since the researcher has 3 papers with at least 3 citations each and the remaining two with no more than 3 citations each, his h-index is 3.

    Note: If there are several possible values for h, the maximum one is taken as the h-index.

    感觉这题更加像动归,没写出来,看了别人的实现,代码如下:

     1 class Solution {
     2 public:
     3     int hIndex(vector<int>& citations) {
     4         int n = citations.size();
     5         vector<int>index(n + 1, 0);//注意这里是n+1
     6         for(int i = 0; i < n; ++i){
     7             if(citations[i]>=n)
     8                 index[n]++;
     9             else
    10                 index[citations[i]]++;
    11         }
    12         if(index[n] >= n) return n;
    13         for(int i = citations.size()-1; i >= 0; --i){
    14             index[i]+=index[i+1];
    15             if(index[i] >= i)
    16                 return i;
    17         }
    18         return 0;
    19     }
    20 };
  • 相关阅读:
    最长回文子序列---DP
    最长回文子串(暴力破解)
    两数相加
    多数元素
    MPI集群搭建
    字符串截取子串(Java substring , indexOf)
    JDK和环境配置,eclipse安装与使用
    ubantu上面 NFS服务器安装
    Django中间件的应用
    Django的url路由系统简介
  • 原文地址:https://www.cnblogs.com/-wang-cheng/p/4992643.html
Copyright © 2011-2022 走看看