*LeetCode-Find Minimum in Rotated Sorted Array
2015-11-02 01:15
309 查看
可以o(n)扫一遍 找到不比前一个大的数字
lgn的方法是 binary search 通过判断head tail mid的大小关系判断pivot在哪一段
public class Solution {
public int findMin(int[] nums) {
int head = 0;
int tail = nums.length - 1;
while ( head < tail ){
int mid = head + ( tail - head ) /2;
if ( nums [ head ] > nums [ mid ] )
tail = mid;
else if ( nums [ mid ] > nums [ tail ] )
head = mid + 1;
else
return nums [ head ];
}
return nums [ head ];
}
}
lgn的方法是 binary search 通过判断head tail mid的大小关系判断pivot在哪一段
public class Solution {
public int findMin(int[] nums) {
int head = 0;
int tail = nums.length - 1;
while ( head < tail ){
int mid = head + ( tail - head ) /2;
if ( nums [ head ] > nums [ mid ] )
tail = mid;
else if ( nums [ mid ] > nums [ tail ] )
head = mid + 1;
else
return nums [ head ];
}
return nums [ head ];
}
}
相关文章推荐
- Chromium中跨进程文件句柄传递
- Redis与Memcached的区别
- **LeetCode-Divide Two Integers
- Filter介绍
- 图解HTTP -- 目录
- 从特性业务场景,到服务性或微服务架构设计,到代码的那条最短路径
- 求两个数的最大公约数和最小公倍数
- mysql存储过程算四分位
- 【Alpha】第十次Scrum meeting
- android studio之argument for @notnull parameter 'name'
- DuiLib介绍及其消息处理剖析 (new)
- Android 解决方法数超上限遇到的问题
- Chromium硬件加速渲染的OpenGL上下文创建过程分析
- HDU 5534 Partial Tree 完全背包
- 12、Swift语言中类和结构体的应用
- bash学习
- 2015/11/1
- mysql 自增主键重排
- [HDU 2255]奔小康赚大钱[KM算法]
- [c]C语言小练习题