LeetCode-Python-274. H指数
给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。
h 指数的定义: “h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)至多有 h 篇论文分别被引用了至少 h 次。(其余的 N - h 篇论文每篇被引用次数不多于 h 次。)”
示例:
输入:citations = [3,0,6,1,5]
输出: 3 解释: 给定数组表示研究者总共有5
篇论文,每篇论文相应的被引用了3, 0, 6, 1, 5
次。由于研究者有3
篇论文每篇至少被引用了3
次,其余两篇论文每篇被引用不多于3
次,所以她的 h 指数是3
。
说明: 如果 h 有多种可能的值,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指数相关推荐
- LeetCode Algorithm 274. H 指数
274. H 指数 Ideas H指数表示的是有h篇论文被引用了至少h次. 我们可以将citations逆序排列,表示引用次数从高到底排列. 如果我们从前向后遍历数组,那么第i位上值v,就表示至少有i ...
- LeetCode 981. 基于时间的键值存储 / 274. H 指数 / 275. H 指数 II
981. 基于时间的键值存储 2021.7.10 每日一题 题目描述 创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作:1. set(string key, string value, ...
- LeetCode 274. H指数(排序,哈希)
1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数"(high c ...
- 274. H 指数----中等
题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义:h 代表"高引用次数"(high citations), ...
- 274. H 指数(中)
思路 首先看到h个元素大于等于某个值,N-h个元素小于等于某个值,这显然是一个有序序列的特征,所以自然而然的想到先将数组排序: 将数组排序之后,对于给定的某个i,我们知道有citations.leng ...
- 二分答案——H指数(Leetcode 274)
题目选自Leetcode 274. H指数 二分查找(答案)的简单题~ 理解题意 这个例子有点儿特殊,论文被引用了 3 次,篇数有 3 篇.再来看一个更一般的例子: 结论: 这条分割线越靠左边,说明被 ...
- LeetCode 275. H指数 II(二分查找)
1. 题目 给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照升序排列.编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数&q ...
- leetcode 275. H 指数 II
给定一位研究者论文被引用次数的数组(被引用次数是非负整数),数组已经按照 升序排列 .编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数" ...
- 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 ...
- 全球 Top 1000 计算机科学家 h 指数公布,中国顶尖计算机科学家人数进入前三
整理 | Carol 出品 | CSDN(ID:CSDNnews) 近日,Guide2Research公布了2021年世界顶尖1000名计算机科学家排名.美国科学家登榜数量达614名,稳居上榜科学家数 ...
最新文章
- [异常笔记] zookeeper集群启动异常: Cannot open channel to 2 at election address ……
- 一、Django前后端交互之Ajax和跨域问题
- java403forbidden_java – Spring boot – 返回403 Forbidden而不是重定向到登录页面
- vm的红帽linux怎样安装教程,vmware10怎么安装linux_redhat7系统安装教程
- phoneGap 中修改生成APP的名字
- C++ 链表 leetcode习题总结
- 俄罗斯方块-C语言-详注版
- Atitit 定时器在项目的应用于 servless数据库 atikvdb 目录 1.1. 项目背景	1 1.2. 特点::免驱动。简单快捷。。	1 1.3. 功能指标	1 1.4. 模块与功能实
- Oracle 11g RAC 自动应用PSU补丁简明版
- genymotion-安卓模拟器-IMEI修改方法
- linux服务器安装字体,删除字体,详细步骤
- 常用测速网站及工具(IPv4/IPv6)
- 秋招内推码汇总第二波 | 阿里、科大讯飞等10家公司内推码
- Python 赵云被动免伤计算
- 自然语言处理之语言模型与词向量
- 地图和地理空间革命:地理学大规模开放在线课堂(MOOC)
- 坏蛋弟弟写的什么鬼吓死姐姐的了
- SQL必需掌握的100个重要知识点:组合查询
- java语言基础知识点(每日更新6.30)②
- 研一被放养,想自学嵌入式找工作,可行吗?
热门文章
- Android高手笔记 - 卡顿优化
- 极客算法训练笔记(七),十大经典排序之归并排序,全网最详
- Kaggle系列-Tweet Sentiment Extraction第一名方案
- win10安装vs2015出现“安装包丢失或损坏”解决办法
- 谷歌浏览器点击上传文件崩溃/上传图片崩溃/打开浏览文件未响应 解决方案
- 和腾讯大牛的技术面谈,面试总结
- php分享微信图片不显示,解决微信二次分享不显示摘要和图片的问题
- 使用清华镜像快速下载TensorFlow各版本及已安装版本查看
- mysql error 1148_MYSQL:ERROR 1148: The used command is not allowed with this MySQL version
- 随机生成15个小写字母c语言,c语言,编程随机生成40个小写字母并赋值给一个字符数组...