LeetCode H-Index
2015-10-06 14:42
344 查看
Description:
iven 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
has
least
each, his h-index is
Note: If there are several possible values for
the maximum one is taken as the h-index.
Solution:
We can imagine this problem as trying to use a y=-x+h to fit in the 2-D coordinates, where the coordinates are x and y sorting in ans descending order.
iven 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
5papers in total and each of them had received
3, 0, 6, 1, 5citations respectively. Since the researcher has
3papers with at
least
3citations each and the remaining two with no more than
3citations
each, his h-index is
3.
Note: If there are several possible values for
h,
the maximum one is taken as the h-index.
Solution:
We can imagine this problem as trying to use a y=-x+h to fit in the 2-D coordinates, where the coordinates are x and y sorting in ans descending order.
<span style="font-size:18px;">import java.util.*; public class Solution { public int hIndex(int[] citations) { int n = citations.length; Integer arr[] = new Integer ; for (int i = 0; i < n; i++) arr[i] = citations[i]; tempCmp cmp = new tempCmp(); Arrays.sort(arr, cmp); int ans = 0; for (int i = 0; i < n; i++) { if (arr[i] >= i + 1) { ans = i + 1; } } return ans; } class tempCmp implements Comparator<Integer> { public int compare(Integer arg0, Integer arg1) { return arg1 - arg0; } } } </span>
相关文章推荐
- 要毕业季
- 继续来码~python对象简介~
- HTML 字符实体与随笔练习
- Java中的并发工具集
- jQuery源码分析之$.inArray()函数
- UVa 10256 (计算几何基础摸板)
- eclipse常用快捷键
- Codeforces Round #260 (Div. 1) --B. A Lot of Games (Trie)
- MySQL执行报错:ERROR 1148 (42000): The used command is not allowed with this MySQL version
- perl数据结构输出 Data::Dumper
- Android多线程(一)
- .NET 4.5 中新提供的压缩类
- HT for Web列表和3D拓扑组件的拖拽应用
- 网页入口ControlServlet分析
- (不错) 大数据驱动的金融业务创新(用户画像-数据架构-标签建模)
- 输出字符串中只出现一次的字符
- 启动入口Start.java分析
- C++模板
- 并查集
- Debug Assertion Failed! File:cmdtarg.cpp Line:52