1 Star 1 Fork 1

Clock966 / LeetcodeEveryday

forked from 四方云和 / LeetcodeEveryday 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
HIndex.java 1.06 KB
一键复制 编辑 原始数据 按行查看 历史
RunAtWorld 提交于 2020-03-31 00:18 . Java 语言解答 package
package solution;
import java.util.Arrays;
/**
* https://leetcode.com/articles/h-index/
*/
/**
* TestCase
* [0]
* [1]
* []
* [100]
*/
public class HIndex {
// 耗时4ms,时间复杂度O(nlgn)
public int hIndex(int[] citations) {
Arrays.sort(citations);
int hIndex = 0;
for (int i = citations.length - 1; i >= 0; i--) {
hIndex = Math.max(hIndex, Math.min(citations.length - i, citations[i]));
}
return hIndex;
}
// 耗时1ms,时间复杂度O(n)
public int hIndex2(int[] citations) {
/**
* 大于文章数的引用可以合并到一起
*/
int n = citations.length;
int[] f = new int[n + 1];
for (int k : citations) {
f[Math.min(k, n)]++;
}
int hindex = 0;
/**
* i表示引用数,j表示大于等于该引用数的总文章数
*/
for (int i = n, j = 0; i >= 0; i--) {
j += f[i];
hindex = Math.max(hindex, Math.min(j, i));
}
return hindex;
}
}
1
https://gitee.com/Clock966/LeetcodeEveryday.git
git@gitee.com:Clock966/LeetcodeEveryday.git
Clock966
LeetcodeEveryday
LeetcodeEveryday
master

搜索帮助