题目:
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。
根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至少 有 h 篇论文被引用次数大于等于 h 。如果 h 有多种可能的值,h 指数 是其中最大的那个。
思路:
·实际上,当遇到第一个无法满足的数时,更大的数值就没必要找了。一个简单的推导:
至少出现 k 次的论文数不足 k 篇 => 至少出现 k+1 次的论文必然不足 k 篇 => 至少出现 k+1 次的论文必然不足 k+1 篇(即更大的 h 不满足)。
· · · 二分法 · · ·
我们发现对于任意的 cs(论文总数量为该数组长度 n),都必然对应了一个最大的 h 值,且小于等于该 h 值的情况均满足,大于该 h 值的均不满足。
那么,在以最大 h 值为分割点的数轴上具有「二段性」,可通过「二分」求解该分割点(答案)。
作者:宫水三叶
链接:https://leetcode.cn/problems/h-index/solutions/2502896/gong-shui-san-xie-cong-po-ti-dao-zhu-bu-7sug6/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
代码: