H-Index II 二分查找
2015-09-09 14:10
190 查看
H-Index II
Follow up for H-Index: What if the citationsarray
is sorted in ascending order? Could you optimize your algorithm?
Hint:
Expected runtime complexity is in O(log n) and the input is sorted.
class Solution { public: //因为是排好序的 然后要求O(logn),则想到用二分查找 int hIndex(vector<int>& citations) { int len=citations.size(); if(len<=0) return 0; int mid,left=0,right=len-1; while(left<=right) { mid=left+(right-left)/2; if(len-mid==citations[mid]) return len-mid; else if(citations[mid]<len-mid) left=mid+1; else right=mid-1; } return len-left; } };
相关文章推荐
- 中国第一高楼封顶:596.5米!世界第二
- listcontrol 加combobox
- JAVA 计算根据经纬度计算距离
- IOS 本地保存Crash日志信息
- 【Unity游戏开发之六】Unity中实现全局管理类的几种方式
- Android笔记(二十七)数据持久化技术
- poj-2079 Triangle
- ti info找不到JAVA_HOME
- 纯CSS实现家谱树(组织架构树同理)
- 比较两个字符串A和B,确定A中是否包含B中所有的字符。
- NoSQL架构实践——以NoSQL为辅
- hdu 2013 蟠桃记
- 队列的两种实现:数组和链表
- 一个由泛型和Auto Unbox引发的Crash
- Kafka设计解析(二):Kafka High Availability (上)
- LA 3942 Remember the Word(字典树/树上dp)
- Eclipse 中 Ant 无日志输出
- Integer to English Words 整数转换为英语表示
- 笔记-大话设计模式-25 中介者模式
- 任何时间,都可以开始