面试题8:旋转数组的最小数字
来源:互联网 发布:中国人工智能四巨头 编辑:程序博客网 时间:2024/06/03 22:00
题目描述
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。
java代码:
iimport java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] array) {
if(array.length == 0)
return 0;
int right = array.length-1;
int left = 0;
int middle = -1;
while(array[right]<=array[left]){
if(right-left==1){
middle = right;
break;
}
middle = left+(right-left)/2;
if(array[left]<=array[middle]){
left=middle;
}
if(array[right]>=array[middle]){
right=middle;
}
}
return array[middle];
}
}
- 面试题:旋转数组的最小数字
- 面试题8:旋转数组的最小数字 ***
- 面试题8:旋转数组的最小数字
- 【剑指offer】面试题8:旋转数组的最小数字
- 剑指offer面试题8:旋转数组的最小数字
- 剑指Offer:面试题8 :旋转数组的最小数字
- 面试题8:旋转数组的最小数字
- 《剑指offer》面试题8旋转数组的最小数字
- 面试题8-旋转数组的最小数字
- 面试题8 旋转数组的最小数字
- 面试题8 旋转数组的最小数字
- 《剑指Offer》面试题8:旋转数组的最小数字
- 面试题8 旋转数组的最小数字
- 【剑指offer】 面试题8: 旋转数组的最小数字
- 面试题8:旋转数组的最小数字
- 面试题8:旋转数组的最小数字
- 剑指offer-面试题8:旋转数组的最小数字
- 面试题8:旋转数组的最小数字
- MatCaffe问题: make matcaffe 'matlab/+caffe/private/caffe_.mexa64' failed
- java 面试题整理二
- EM算法【1】
- 《西瓜书》笔记02:模型评估和选择
- PL/SQL Developer使用技巧、快捷键
- 面试题8:旋转数组的最小数字
- grep与awk的区别
- mysql update 将一个表某字段设为另一个表某字段的值
- 判断类是否存在函数class_exists用法分析
- JavaScript数据类型和typeof()用法
- 屏蔽div右键事件
- C#画简单统计图
- bootstrap-table使用总结
- Flume安装、配置及简单示例