<Array> 274 275
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);
}
}
<Array> 274 275的更多相关文章
- leetcode@ [274/275] H-Index & H-Index II (Binary Search & Array)
https://leetcode.com/problems/h-index/ Given an array of citations (each citation is a non-negative ...
- ***CodeIgniter集成微信支付(转)
微信支付Native扫码支付模式二之CodeIgniter集成篇 http://www.cnblogs.com/24la/p/wxpay-native-qrcode-codeigniter.html ...
- Bitmap vs 2Bitmap的实现
[本文链接] http://www.cnblogs.com/hellogiser/p/bitmap-vs-2bitmap.html [题目] 在2.5亿个整数找出不重复的整数,内存不足以容纳着2.5亿 ...
- java中常用的工具类(三)
继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 ...
- java中常用的工具类(二)
下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)
目录: 一.Thrift1和Thrift2的简要介绍 1) 写在前面 2) Thrift1和Thrift2的区别 二.Thrift0.9.2的安装 1) 安装依赖插件 2) Thrift0.9.2的 ...
- linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-119723.html linux设备驱动归纳总结(十三):1.触摸屏与ADC时钟 xxxxxxxxxx ...
- ecshop init.php文件分析
1. ecshop init.php文件分析 2. <?php 3. 4. /** 5. * ECSHOP 前台公用文件 6. * ===================== ...
- Linux设备模型分析之kset(基于3.10.1内核)
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 内核版本:3.10.1 一.kset结构定义 kset结构体定义在include/linux/kobject.h ...
随机推荐
- H5开发 连接蓝牙打印机 打印标签(斑马ZR628)
1.连接蓝牙打印机(先用手机自带蓝牙进行配对),然后绑定出已配对的蓝牙设备(用来选择/切换打印机之用),代码如下 已配对蓝牙设备,中显示的就是已连接的,点击一下即可 代码: <!DOCTYPE ...
- 公式推导【ASRCF//CVPR2019】
Dai K, Wang D, Lu H, et al. Visual Tracking via Adaptive Spatially-Regularized Correlation Filters[C ...
- MySQL存储过程-2019/7/18
MySQL 5.0 版本开始支持存储过程. 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象. 存储过程是为了完成特定功能的SQL语句集,经编 ...
- ubuntu python 版本管理
ubuntu 命令行查看 python 目录 $ whereis python # 显示所有得到 python 目录 $ which python # 显示默认的 python 解释器目录 $ wh ...
- SQLyog 图形化数据库的操作教程
首先SQLyog作为mysql的图形化操作工具,是一款非常好用的工具. 操作说明 1.打开工具,点击[新建]输入名称.用户名:root,密码是安装时自己设置的(一定要记住的),端口号默认是:3306, ...
- CompletableFuture1
public class CompletableFutureTest { public static void main(String[] args) throws Exception { test5 ...
- jdk-8u151-nb-8_2-windows-x64软件安装教程及环境配置
1.双击jdk-8u151-windows-x64.exe文件 2.进入安装向导 3.配置环境变量 (1)计算机→属性→高级系统设置→高级→环境变量 (2)系统变量→新建 JAVA_HOME 变量 . ...
- AngleSharp 实战(04)之遍历内部超链接(a)元素的 Href 和 InnerText
文档地址:https://anglesharp.github.io/docs/Examples.html 直接贴代码了: using System; using System.Linq; using ...
- Redis set集合
Set操作.Set集合就是不允许重复的列表 (无序集合) sadd(name,values) # name对应的集合中添加元素 scard(name) # 获取name对应的集合中元素个数 sdiff ...
- c++和java的一些debug方法
就上面那个绿色的小瓢虫,点了就进了debug模式. 好尴尬啊,就说一句话. 而且,要加断点,不然就一下debug完了.