274. H 指数
原题地址: 力扣每日一题:H 指数
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。
根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次。如果 h 有多种可能的值,h 指数 是其中最大的那个。文章来源:https://www.toymoban.com/news/detail-717813.html
class Solution {
public int hIndex(int[] citations) {
int left = 0, right = citations.length;
int mid = 0, cnt = 0;
while (left < right) {
mid = (left + right + 1) >> 1;
cnt = 0;
for (int i = 0; i < citations.length; i++) {
// 引用量大于mid,cnt就加一
if (citations[i] >= mid) {
cnt++;
}
}
// cnt大于mid说明引用量超过mid的文章数量超过了mid篇,范围向后移动
if (cnt >= mid) {
left = mid;
} else {
right = mid - 1;
}
}
return left;
}
}
如果对您有帮助,请点赞关注支持我,谢谢!❤
如有错误或者不足之处,敬请指正!❤文章来源地址https://www.toymoban.com/news/detail-717813.html
到了这里,关于算法|每日一题|H 指数|二分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!