博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
275. H-Index II
阅读量:5232 次
发布时间:2019-06-14

本文共 1468 字,大约阅读时间需要 4 分钟。

}     /*      * 275. H-Index II      * 1.3 by Mingyang      * 在Sort里面有线性解法的      * 输入数组是有序的,让我们在O(log n)的时间内完成计算,      * 我们最先初始化left和right为0和数组长度len-1,然后取中间值mid,      * 比较citations[mid]和len-mid做比较,如果前者大,则right移到mid之前,      * 反之right移到mid之后,终止条件是left>right,最后返回len-left即可      * for paper[m]. there should be at least (len – m) papers with citations >= citations[m]      */     public static int hIndex(int[] citations) {            if (citations == null || citations.length == 0) {                return 0;            }                         int low = 0;            int high = citations.length - 1;            int len = citations.length;            while (low <= high) {                int mid = (low + high)/2;                if (citations[mid] == len - mid) return len - mid;      //第k个数等于k,绝配----len-mid表示这个数从大到小排在第几位                else if (citations[mid] > len - mid) high = mid - 1;                else low = mid + 1;            }            return len - low;        }     //孟严的方法     public int hIndex2(int[] citations) {            int len=citations.length;            if(len==0)             return 0;            int left=0,right=len-1;            while(left<=right)            {                int mid=left+(right-left)/2;                  // 0 4 5 6 7   5>=3                 //4>=4                if(citations[mid]>=len-mid) //--------mid=2                 {                    if(mid==0||citations[mid-1]

 

转载于:https://www.cnblogs.com/zmyvszk/p/5619052.html

你可能感兴趣的文章
HDFS读写数据流程
查看>>
less的学习
查看>>
我的虚拟机挂了!怎么把镜像里面的数据找回来?
查看>>
Mesos源码分析(3): Mesos Master的启动之二
查看>>
Git SSH Key 生成步骤
查看>>
(11)《数据结构与算法》之赫夫曼树
查看>>
adb 性能测试(内存)
查看>>
android aosp 开发环境搭建
查看>>
seajs中define方法的id和dependencies参数
查看>>
31. Next Permutation
查看>>
【JAVA与C#比较】其它
查看>>
Python工厂函数与内建函数
查看>>
(转载)Javascript 中的非空判断 undefined,null, NaN的区别
查看>>
进程的打开和关闭
查看>>
JPA 常用注解 (hibernate)
查看>>
笔记本就是力量
查看>>
P18 第四题
查看>>
Gamma阶段第七次scrum meeting
查看>>
移动端h5优化
查看>>
第三周PSP
查看>>