[leetcode][sort] H-Index
来源:互联网 发布:二战江河级护卫舰数据 编辑:程序博客网 时间:2024/05/16 12:28
题目:
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.
方法一:
bool cmp(int a, int b){return a > b;}class Solution {public:int hIndex(vector<int>& citations) {if (citations.empty()) return 0;sort(citations.begin(), citations.end(), cmp);int res = 0;for (int i = 0; i < citations.size(); ++i){if (citations[i] > res) ++res;}return res;}};
方法二:
class Solution {public:int hIndex(vector<int>& citations) {if (citations.empty()) return 0;int n = citations.size();map<int, int> hashTable;int h = 0, cnt = 0;;for (int i = 0; i < n; ++i){map<int, int>::iterator iter = hashTable.find(citations[i]);if (iter != hashTable.end()) ++(iter->second);else hashTable.insert(make_pair(citations[i], 1));}for (map<int, int>::iterator iter = hashTable.begin(); iter != hashTable.end(); ++iter){int hNew = (n - cnt) < iter->first ? (n - cnt) : iter->first;if (h < hNew) h = hNew;cnt += iter->second;}return h;}};
- [leetcode][sort] H-Index
- Leetcode 274 : H-index
- leetcode H-Index
- 【leetCode】H-Index
- Leetcode: H-Index
- Leetcode: H-Index II
- leetcode 274: H-Index
- [leetcode] 274.H-Index
- leetcode 之 H-index
- LeetCode: H-Index
- leetcode H-index 2
- Leetcode: H-Index
- Leetcode: H-Index II
- leetcode: H-Index
- [LeetCode 274] H-index
- [LeetCode]H-Index
- [LeetCode]H-Index II
- H-Index -- leetcode
- 神经网络的cost function
- QT编写记事本
- 线段树
- Aspen Technology AspenONE Suite v8.8 Win7_8-ISO 3DVD(完全解密版,包括DVD1和DVD2)
- mac手动删除MySQL
- [leetcode][sort] H-Index
- 隐式转换和显式转换及强制转换的区别
- Kinect v2.0原理介绍之九:高清面部帧(2) 面部特征对齐
- 数据结构---抽象建模
- socket通信之九:使用完成端口实现的一个聊天室
- 哲学家就餐问题
- [刷题]Hash Function
- 犀牛——第8章函数 8.7函数属性、方法和构造函数
- 51nod 求子段和问题总结(DP)