代码拉取完成,页面将自动刷新
同步操作将从 四方云和/LeetcodeEveryday 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。