<Array> 274 275
2024-09-05 10:20:11
274. H-Index
这道题让我们求H指数,这个质数是用来衡量研究人员的学术水平的质数,定义为一个人的学术文章有n篇分别被引用了n次,那么H指数就是n.
用桶排序,按引用数从后往前计算论文数量,当论文数 >= 当前引用下标时。满足至少有N篇论文分别被引用了n次。
class Solution {
public int hIndex(int[] citations) {
int n = citations.length;
int[] bucket = new int[n + 1];
for(int c : citations){
if(c >= n){
bucket[n]++;
}else{
bucket[c]++;
}
}
int count = 0;
for(int i = n; i >= 0; i--){
count += bucket[i];
if(count >= i){
return i;
}
}
return 0;
}
}
275. H-Index II
有len - mid篇文章,每篇文章至少有 citations[ mid ] 次引用。
1. len - mid == citations[ mid ], 符合
2. len - mid > citations[ mid ] , 文章数 》 引用次数,不符合定义,往右搜索
3. len - mid < citations[ mid ], 文章数 《 引用次数,符合定义,但说明可能有更多的文章每篇被引用citations[ mid ] 次, 往左搜索。
len - (right + 1 ) = 总文章数 - 不符合定义的文章数。
class Solution {
public int hIndex(int[] citations) {
int len = citations.length;
int left = 0, right = len - 1;
while(left <= right){
int mid = left + (right - left) / 2;
if(len - mid == citations[mid]){
return citations[mid];
} else if( len - mid > citations[mid]){
left = mid + 1;
}else{
right = mid - 1;
}
}
return len - (right + 1);
}
}
最新文章
- 怎么清除file控件的文件路径
- sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值
- php 通过PATH_SEPARATOR判断当前服务器系统类型
- mybatis的一对多映射
- 将java应用程序打包成可执行文件
- C#后台验证身份证号码的一个方法
- hdu1074 Doing Homework(状态压缩DP Y=Y)
- appium 并发测试
- cf493B Vasya and Wrestling
- Ecshop导航栏标题栏的伪静态设置
- 单击dbgrid列标题排序 升降序
- kickstart部署及使用
- ios 一步一步学会自定义地图吹出框(CalloutView)-->;(百度地图,高德地图,google地图)
- zabbix监控URL
- PC端的鼠标拖拽滑动
- Kettle入门--作业和转换的使用
- (转)mysql原生在线ddl和pt-osc原理解析
- Windows系统php5.6安装Imagick库
- 利用StringUtils可以避免空指针问题
- array2json
热门文章
- thinkPHP5 添加新模块
- cocos2dx 3.17(Windows下) 接入skynet和sprotol
- 传统码头建设企业:Azure DevOps Server 流水线技术沟通
- 解决 ubuntu 开机卡死在输入密码界面 &;&; 键盘鼠标失灵!!
- jQuery 源码解析(七) jQuery对象和DOM对象的互相转换
- Linux 搭建邮件服务器
- JDBC与Druid简单介绍及Druid与MyBatis连接数据库
- 休谟:《人性论》一书中提出的要重视";是";与";应该";的区别
- 一篇文章,带你玩转MVVM,Dapper,AutoMapper
- .NET 跨域问题解决