leetcode 275. H 指数 II
给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 。编写一个方法,计算出研究者的 h 指数。
h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。(其余的 N - h 篇论文每篇被引用次数不多于 h 次。)"
示例:
输入: citations = [0,1,3,5,6]
输出: 3
解释: 给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 0, 1, 3, 5, 6 次。
由于研究者有 3 篇论文每篇至少被引用了 3 次,其余两篇论文每篇被引用不多于 3 次,所以她的 h 指数是 3。
说明:
如果 h 有多有种可能的值 ,h 指数是其中最大的那个。
解题思路
因为 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次
假设下标为i的论文,数组长度为n,那么该下标后面的n-i篇论文必将至少被引用了citations[i]次,所以我们可以假设h=n-i,那么只要citations[i]>=h,那么这就是一个满足题意的H指数。
因为只要i满足H指数的条件,那么i+n同样满足H指数的条件,只是H的值比i更小,因此通过二分法查找边界,找到刚好满足citations[i]>=h的下标i,这就是最大的H指数了。
代码
class Solution {public int hIndex(int[] citations) {int n=citations.length,l=0,r=n-1;while (l<=r){int mid=(r-l)/2+l;if (citations[mid]>=n-mid){r=mid-1;}else{l=mid+1;}}return n-l;}
}
leetcode 275. H 指数 II相关推荐
- LeetCode 275. H指数 II(二分查找)
1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数&q ...
- LeetCode 981. 基于时间的键值存储 / 274. H 指数 / 275. H 指数 II
981. 基于时间的键值存储 2021.7.10 每日一题 题目描述 创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作:1. set(string key, string value, ...
- 275. H 指数 II
难度:中等 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 .编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数 ...
- LeetCode 274. H指数(排序,哈希)
1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数"(high c ...
- 【数据结构与算法】之深入解析“H指数II”的求解思路与算法示例
一.题目要求 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数,citations 已经按照升序排列,计算并返回该研究者的 h 指数. h ...
- leetcode275. H指数 II(二分法)
给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数"(h ...
- 二分答案——H指数(Leetcode 274)
题目选自Leetcode 274. H指数 二分查找(答案)的简单题~ 理解题意 这个例子有点儿特殊,论文被引用了 3 次,篇数有 3 篇.再来看一个更一般的例子: 结论: 这条分割线越靠左边,说明被 ...
- LeetCode Algorithm 274. H 指数
274. H 指数 Ideas H指数表示的是有h篇论文被引用了至少h次. 我们可以将citations逆序排列,表示引用次数从高到底排列. 如果我们从前向后遍历数组,那么第i位上值v,就表示至少有i ...
- 重磅!全球Top 1000计算机科学家h指数公布:中国53位学者上榜!张宏江居大陆科学家之首...
近日,Guide2Research刚刚出炉了2021年世界顶尖1000名计算机科学家排名.美国614名科学家实力霸榜.吴恩达.李飞飞等入选的华人学者过百.中国科学家53人上榜,张宏江居中国大陆科学家之 ...
最新文章
- EJB-Java服务器端构件模型使用入门(2)
- centos7 shell脚本自动优化yum firewalld xelinux
- 计算机考试题 实操,计算机考试实操题-20210604194811.docx-原创力文档
- 岭回归与Lasso回归
- Redis整合Spring结合使用缓存实例
- 第4件事 产品经理必须“入戏”, 与用户交朋友
- ajax alert表单,jQuery AJAX Post alert()不被调用
- 485光隔离中继器产品特点及应用领域介绍
- UVa10779 - Collectors Problem(最大流)
- mysql数据库表名批量改为小写,MySQL 批量修改表名
- python程序如何执行死刑_「Python基础知识」Python生成器函数
- 机器人电焊电流电压怎么调_机器人二保焊自动焊机是怎么调节的?
- 【CocosCreator 3.x】实现双人同屏效果 => 攻略
- Python入门到放弃
- cmd命令与dos命令
- 证券行业企业微信智慧办公解决方案
- 抢茅台脚本居然用的Python,我们Python真是太强大了---图拉夫
- python io
- 英语学习篇 - 英语阅读法
- 吉他弹唱精通——逆向思维玩套路