码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 274. H-Index

时间:2016-03-19 22:39:30      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

 1 class Solution {
 2 public:
 3     int hIndex(vector<int>& citations) {
 4         sort(citations.begin(), citations.end());
 5         for(int i = 0; i < citations.size(); ++i){
 6             if(citations[i] >= citations.size() - i)
 7                 return citations.size() - i;
 8         }
 9         
10     }
11 };

N个数中有h个数>=于h,其余的<h。

在纸上写出后便易得,当N个数排序后,在citation[i]的右边(包括它本身),共有N-i个数,这些数均>=citation[i],即有N-i个数>=citation[i],使h=N-i,如果此时citation[i]>=N-i,那么必定有N-i个数>=N-i,此时N-i就是要求的h。因为h取最大值,所以i从0开始。

 

 

追加:

发现一个漏洞,当输入[0]时,照理来说是没法return的,但是不知为何LeetCode替我return了0……

正确代码:

 1 class Solution {
 2 public:
 3     int hIndex(vector<int>& citations) {
 4         sort(citations.begin(), citations.end());
 5         for(int i = 0; i < citations.size(); ++i){
 6             if(citations[i] >= citations.size() - i)
 7                 return citations.size() - i;
 8         }
 9         return 0;
10         
11     }
12 };

 

LeetCode 274. H-Index

标签:

原文地址:http://www.cnblogs.com/co0oder/p/5296417.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!