给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 指数。

h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)至多有 h 篇论文分别被引用了至少 h 次。(其余的 N - h 篇论文每篇被引用次数不多于 次。)”

示例:

输入: citations = [3,0,6,1,5]
输出: 3
解释: 给定数组表示研究者总共有 5 篇论文,每篇论文相应的被引用了 3, 0, 6, 1, 5 次。由于研究者有 3 篇论文每篇至少被引用了 3 次,其余两篇论文每篇被引用不多于 3 次,所以她的 h 指数是 3

说明: 如果 有多种可能的值,h 指数是其中最大的那个。

思路:

跟LeetCode-Python-275. H指数 II一模一样,只需添加一个排序的步骤。

二分查找。

根据题意:找的是某个点,在满足这个点的值 > = 它和它右侧的点个数之和cnt的情况下,cnt就是当前的h指数。

如果已经有h指数了,就可以试着往左找,因为越左cnt越大,h指数也越大,所以左侧可能存在更大的h值,

如果目前还没有h指数,就只能试着缩小cnt,往右找,

此题缩小搜索范围的思路就可以用二分查找来实现。

class Solution(object):def hIndex(self, citations):""":type citations: List[int]:rtype: int"""citations.sort()l = len(citations)lo, hi = 0, l - 1res = 0while(lo <= hi):mid = lo + (hi - lo) // 2cnt = l - mid #包括mid自身右边还有的元素个数if citations[mid] >= cnt: res = cnthi = mid -1else:lo = mid + 1return res

LeetCode-Python-274. H指数相关推荐

  1. LeetCode Algorithm 274. H 指数

    274. H 指数 Ideas H指数表示的是有h篇论文被引用了至少h次. 我们可以将citations逆序排列,表示引用次数从高到底排列. 如果我们从前向后遍历数组,那么第i位上值v,就表示至少有i ...

  2. LeetCode 981. 基于时间的键值存储 / 274. H 指数 / 275. H 指数 II

    981. 基于时间的键值存储 2021.7.10 每日一题 题目描述 创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作:1. set(string key, string value, ...

  3. LeetCode 274. H指数(排序,哈希)

    1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数"(high c ...

  4. 274. H 指数----中等

    题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义:h 代表"高引用次数"(high citations), ...

  5. 274. H 指数(中)

    思路 首先看到h个元素大于等于某个值,N-h个元素小于等于某个值,这显然是一个有序序列的特征,所以自然而然的想到先将数组排序: 将数组排序之后,对于给定的某个i,我们知道有citations.leng ...

  6. 二分答案——H指数(Leetcode 274)

    题目选自Leetcode 274. H指数 二分查找(答案)的简单题~ 理解题意 这个例子有点儿特殊,论文被引用了 3 次,篇数有 3 篇.再来看一个更一般的例子: 结论: 这条分割线越靠左边,说明被 ...

  7. LeetCode 275. H指数 II(二分查找)

    1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数&q ...

  8. leetcode 275. H 指数 II

    给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 .编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数" ...

  9. uwsgi 安装报错 plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory

    1. Python3 安装 uwsgi 报错 直接使用命令 sudo pip3 install uwsgi 安装如下错误: ubuntu@ubuntu:~/Downloads$ sudo pip3 i ...

  10. 全球 Top 1000 计算机科学家 h 指数公布,中国顶尖计算机科学家人数进入前三

    整理 | Carol 出品 | CSDN(ID:CSDNnews) 近日,Guide2Research公布了2021年世界顶尖1000名计算机科学家排名.美国科学家登榜数量达614名,稳居上榜科学家数 ...

最新文章

  1. [异常笔记] zookeeper集群启动异常: Cannot open channel to 2 at election address ……
  2. 一、Django前后端交互之Ajax和跨域问题
  3. java403forbidden_java – Spring boot – 返回403 Forbidden而不是重定向到登录页面
  4. vm的红帽linux怎样安装教程,vmware10怎么安装linux_redhat7系统安装教程
  5. phoneGap 中修改生成APP的名字
  6. C++ 链表 leetcode习题总结
  7. 俄罗斯方块-C语言-详注版
  8. Atitit 定时器在项目的应用于 servless数据库 atikvdb 目录 1.1. 项目背景 1 1.2. 特点::免驱动。简单快捷。。 1 1.3. 功能指标 1 1.4. 模块与功能实
  9. Oracle 11g RAC 自动应用PSU补丁简明版
  10. genymotion-安卓模拟器-IMEI修改方法
  11. linux服务器安装字体,删除字体,详细步骤
  12. 常用测速网站及工具(IPv4/IPv6)
  13. 秋招内推码汇总第二波 | 阿里、科大讯飞等10家公司内推码
  14. Python 赵云被动免伤计算
  15. 自然语言处理之语言模型与词向量
  16. 地图和地理空间革命:地理学大规模开放在线课堂(MOOC)
  17. 坏蛋弟弟写的什么鬼吓死姐姐的了
  18. SQL必需掌握的100个重要知识点:组合查询
  19. java语言基础知识点(每日更新6.30)②
  20. 研一被放养,想自学嵌入式找工作,可行吗?

热门文章

  1. Android高手笔记 - 卡顿优化
  2. 极客算法训练笔记(七),十大经典排序之归并排序,全网最详
  3. Kaggle系列-Tweet Sentiment Extraction第一名方案
  4. win10安装vs2015出现“安装包丢失或损坏”解决办法
  5. 谷歌浏览器点击上传文件崩溃/上传图片崩溃/打开浏览文件未响应 解决方案
  6. 和腾讯大牛的技术面谈,面试总结
  7. php分享微信图片不显示,解决微信二次分享不显示摘要和图片的问题
  8. 使用清华镜像快速下载TensorFlow各版本及已安装版本查看
  9. mysql error 1148_MYSQL:ERROR 1148: The used command is not allowed with this MySQL version
  10. 随机生成15个小写字母c语言,c语言,编程随机生成40个小写字母并赋值给一个字符数组...