有序数组中的h引用 H-Index II
2019独角兽企业重金招聘Python工程师标准>>>
问题:
Follow up for H-Index: What if the citations
array is sorted in ascending order? Could you optimize your algorithm?
解决:
① 给定的是有序数组,就不需要排序了。
class Solution {//139ms
public int hIndex(int[] citations) {
for (int i = 0;i < citations.length;i ++){
if (citations.length - i <= citations[i]){
return citations.length - i;
}
}
return 0;
}
}
② 二分搜索。
class Solution { //12ms
public int hIndex(int[] citations) {
if (citations == null || citations.length == 0) return 0;
int len = citations.length;
int left = 0;
int right = len - 1;
while (left <= right){
int mid = (right - left) / 2 + left;
int count = len - mid;
if (citations[mid] == count){
return count;
}else if (citations[mid] > count){
right = mid - 1;
}else {
left = mid + 1;
}
}
return len - left;
}
}
转载于:https://my.oschina.net/liyurong/blog/1591839
有序数组中的h引用 H-Index II相关推荐
- (c语言)输入一个数,将该数按原规律插入到有序数组中
(c语言)输入一个数,将该数按原规律插入到有序数组中 #include<stdio.h> #include<stdlib.h> int main(){int arr[11]={ ...
- 力扣 26.删除有序数组中的重复元素
文章目录 题目 思路 AC代码 收获 题目 删除有序数组中的重复元素 思路 快慢指针.快指针不断向前走.判断快指针所指的数与快指针前面的数是否相等,如果相等就说明是重复的,要继续向后移动,如果不相等, ...
- C语言向有序数组中插入一个数使该数组仍保持有序
C语言向有序数组中插入一个数使该数组仍保持有序 #include<stdio.h> int main() { int n,i,j,t,k; printf("您喜欢 ...
- C语言:向一个有序数组中插入一个数据,并保持数组的有序性。
C语言:向一个有序数组中插入一个数据,保持数组的有序性. #include <stdio.h> //向一个有序数组中插入一个元素,重新实现有序,并输出. int main() {//注意数 ...
- code第一部分数组:从有序数组中移除重复的数据
code第一部分数组:从有序数组中移除重复的数据 第二题 从有序数组中移除重复的数据,但是可以保留2个重复的数. For example, Given sorted array A = [1,1,1, ...
- 力扣——删除有序数组中的重复项
删除有序数组中的重复项 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 ...
- 求栈中元素个数算法_Algorithm 大家都会的去除有序数组中重复元素的三种算法...
问题描述 给定一个有序数组,要删除数组重复出现的元素,使得每个元素之出现一次,然后返回移除重复数组后的新长度: 示例: 给定数组 nums = [1,2,4,4],删除重复出现的元素后,原数组变成 n ...
- LeetCode算法 删除有序数组中的重复项 删除有序数组中的重复项|| C++
目录 题目 删除有序数组中的重复项 参考答案 题目 删除有序数组中的重复项|| 参考答案 题目 删除有序数组中的重复项 给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ...
- numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax)
numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax) 目录 numpy使用np ...
- Leetcode1685. 有序数组中差绝对值之和[C++题解]:前缀和和差的绝对值之和
文章目录 题目分析 题目链接 题目分析 分析: 货仓选址同类型题目. 差的绝对值求和,分两半,前面的都小于等于它,后面的都大于等于它. 另外需要注意 前缀和的技巧.O(1)时间求区间之和. 总的时间复 ...
最新文章
- ArcEngine开发中“错误类型****未定义构造函数”
- Web后门工具WeBaCoo
- python最新版本-官方宣布不再维护Python2,并每年发布一个新版本
- vi的插入模式下退格和方向键不能使用的解决方法
- 中国中医科学院中药资源中心2021年公开招聘应届毕业生预公告
- 微服务开发过程中需要注意的若干事项
- 本文为 2021 年 5 月知识总结
- ubuntu下的jdk进行升级_Ubuntu下JDK升级1.7
- LXM音频处理软件 使用说明书
- 计算机基础 键盘认识,电脑入门(八)、认识键盘及操作
- java 随机生成姓名_生成随机中文姓名java程序.pdf
- php如何给注册页面加验证码,网站注册页面如何添加验证码注册登录
- 卷积神经网络 —— 图像识别与深度学习
- CPU、MPU、MCU和SOC还傻傻分不清楚 看这篇文章就够了
- 人人都是架构师:分布式系统架构落地与瓶颈突破 - china-pub网上书店
- 第二周:1.逆序的三位数(5分)(题目来源中国大学MOOC)
- c语言用户态锁使用,用户态自旋锁、读写自旋锁及互斥锁
- 【数字图像处理】前期准备工作,库的安装(skimage库的安装!)
- C#SpinWait和volatile一点温习
- ASO优化如何做?这几个技巧你绝对要了解