剑指offer之java篇之旋转数组(二)
来源:互联网 发布:淘宝上传视频要收费吗 编辑:程序博客网 时间:2024/06/04 08:21
题:旋转数组求最小值。1 2 3 4 5 6 旋转变为 3 4 5 6 1 2
分析:这种基本有序比较容易想到二分法。分为以下几种情况:
1) array[mid]>array[right]说明一定在右边,而且这个mid一定不是最小的。
2) array[mid]<array[right]说明一定在左边,这mid不一定不是最小的。
3) 不用考虑了,全部相等的,直接输出随便一个即可。
代码:
public static int minNumberInRotateArray(int [] array) {
int length=array.length;
if(length<=0)
return 0;
if(length==1)
return array[0];
int left=0,right=length-1,mid=(left+right)/2;
while(right-left>1){
mid=(left+right)/2;
if(array[mid]>array[right])
left=mid;
else if(array[mid]<array[right])
right=mid;
else
break;
}
return array[right]>array[left]?array[left]:array[right];
}
- 剑指offer之java篇之旋转数组(二)
- 剑指offer之旋转数组中的最小值
- 【剑指offer之旋转数组的最小值】
- 剑指Offer之旋转数组的最小数字
- 《剑指Offer》之面试题旋转数组的最小数字
- 剑指Offer之 - 旋转数组的最小数字
- 剑指offer系列之六:旋转数组的最小值
- 剑指offer(九)之旋转数组的最小数字
- 剑指offer之旋转数组的最小数字
- (六)剑指offer之旋转数组的最小数字
- 剑指offer之旋转数组的最小数字
- 剑指offer之五---旋转数组的最小数字
- 剑指offer之旋转数组的最小数字
- 剑指offer(二.1)数据结构篇之数组
- 剑指OFFER之数组篇
- 剑指offer之数组
- 剑指offer-旋转数组
- leetcode之Search in Rotated Sorted Array,剑指offer之旋转数组的最小数字
- 18. 4Sum
- Spring5学习(二)-spring projects之Spring Cloud Data Flow
- Drawable基础知识总结----drawable标签layer-list的使用
- 4. 数组、切片和映射(Go Tutorial)
- 给tomcat指定jdk
- 剑指offer之java篇之旋转数组(二)
- CodeForces 839D Winter is here (容斥原理)
- ngnix负载均衡配置
- 依赖注入(DI)和控制反转
- bootstrap清除浮动
- 冒泡排序
- 11g RAC环境中OCR磁盘的管理
- centos安装说明
- 第一篇:手把手教你搭建dubbo框架