博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode H-Index II
阅读量:2341 次
发布时间:2019-05-10

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

代码写的很烂。按下不表

public class Solution {
public int hIndex(int[] citations) { if(citations.length==0) { return 0; } boolean allzearo=true; for (int i : citations) { if(i!=0) { allzearo=false; } } if(allzearo) { return 0; } int left=0; int n=citations.length; int right=n-1; int middle; int index=0; while(left<=right) { middle=(left+right)/2; if(citations[n-1-middle]>middle) { left=middle+1; index=middle; } else { right=middle-1; } } return index+1; }}

牛人的代码

int hIndex(int* citations, int citationsSize) {    int lo = 0, hi = citationsSize, mid, index = 0;    while (lo <= hi) {        mid = lo + ((hi - lo) >> 1);        if (citations[citationsSize - mid - 1] > mid) {            lo = mid + 1;            index = lo;        } else {            hi = mid - 1;        }    }    return index;}

转载地址:http://icuvb.baihongyu.com/

你可能感兴趣的文章
判断一个数组,是否可以分成两个数组之和相等的数组
查看>>
背包问题
查看>>
结构体变量之间的比较和赋值原理
查看>>
C++ const修饰函数、函数参数、函数返回值
查看>>
将单链表的每k个节点之间逆序
查看>>
删除链表中重复的节点——重复节点不保留
查看>>
2018腾讯校招编程题——最重要的城市
查看>>
删除链表中重复的节点——重复节点保留一个
查看>>
实战c++中的vector系列--正确释放vector的内存(clear(), swap(), shrink_to_fit()).md
查看>>
链表排序.md
查看>>
进程与线程的区别与联系、进程与线程的通信方式
查看>>
C++与C的区别
查看>>
产生死锁的必要条件及处理方法
查看>>
TCP和UDP的区别
查看>>
事务具有四个特性
查看>>
树的先序、中序、后序和层次遍历-C++实现
查看>>
static和const关键字的作用
查看>>
Hadoop Hdfs 配置
查看>>
tsung集群测试
查看>>
oracle定时删除表空间的数据并释放表空间
查看>>