#Leetcode# 274. H-Index
https://leetcode.com/problems/h-index/
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 hof his/her N papers have at least h citations each, and the other N − h papers have no more than h citations each."
Example:
Input:citations = [3,0,6,1,5]Output: 3 Explanation:[3,0,6,1,5]means the researcher has5papers in total and each of them had received3, 0, 6, 1, 5citations respectively. Since the researcher has3papers with at least3citations each and the remaining two with no more than3citations each, her h-index is3.
Note: If there are several possible values for h, the maximum one is taken as the h-index.
代码:
class Solution {
public:
int hIndex(vector<int>& citations) {
int n = citations.size();
if(n == 0) return 0;
int cnt = 0;
sort(citations.begin(), citations.end());
for(int i = 0; i < n; i ++) {
if(citations[i] == 0) cnt ++;
if(citations[i] >= (n - i))
return min(n - i, citations[i]);
}
if(cnt == n) return 0;
return 1;
}
};
什么时候才能把情况想的全一点呢 但是好像逐渐沉迷怼着数据 debug 怎么肥四 上瘾?

浙公网安备 33010602011771号