面试题8:找到旋转数组的最小值(java)
来源:互联网 发布:淘宝汉服睡衣店铺推荐 编辑:程序博客网 时间:2024/06/07 10:04
package _8_minReverse;/** * 找到旋转数组的最小值 * 由于部分有序,借用二分查找思想.三个游标index1,index2,indexMid * @author yanjie * */public class MinReverse {static int[] data = {5,6,7,8,9,1,2,3,4};//static int[] data = {1,0,1,1,1};//public static void main(String[] args) {// TODO Auto-generated method stubint min = search(data);System.out.println(min);}public static int search(int[] data){int index1 = 0;int index2 = data.length-1;int indexMid = index1;while(data[index1]>data[index2]){if(index2-index1==1){indexMid = index2;break;}//System.out.println("index1:"+index1+" mid:"+indexMid+" index2:"+index2);indexMid = (index1+index2)/2;//若index1,index2,indexMid指向数字相等,只能顺序查找if(data[index1]>=data[index2] && data[indexMid]==data[index2]){return minOrder(data, index1, index2);}if(data[indexMid]>=data[index1]){index1 = indexMid;}else if(data[indexMid]<=data[index2]){index2 = indexMid;} }return data[indexMid];}public static int minOrder(int[] data, int index1, int index2){int result = data[index1];for(int i=index1+1; i<=index2; i++){if(result>data[i]){result = data[i];}}return result;}}
0 0
- 面试题8:找到旋转数组的最小值(java)
- 面试题8:旋转数组中的最小值
- 面试题8-旋转数组的最小值
- 面试题8_旋转数组的最小值
- 面试题8—旋转数组的最小值
- 剑指Offer:面试题8——旋转数组的最小值(java实现)
- 剑指offer 面试题8 旋转数组的最小值 java版答案
- 【剑指offer】面试题8:旋转数组中的最小值
- 剑指offer 面试题8 输出旋转数组最小值
- 剑指 offer——面试题8求旋转数组的最小值
- 面试题8:旋转数组的最小值(Leetcode-153,154)
- 面试题8:数组的旋转
- 【面试题】寻找旋转排序数组中的最小值
- Java求旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- 旋转数组的最小值
- android filter
- 【seen看世界】:生意场上的竞争
- 【leetcode】387. First Unique Character in a String
- 表达式求值
- Linux运维笔记----shell基础命令
- 面试题8:找到旋转数组的最小值(java)
- 通过一个可以随机产生0和1的随机数生成产生0到n的随机数
- Box of Bricks
- 10个你能参与并学习的Java开源github项目
- error LNK2005 的处理
- 走遍欧洲 —— 阿尔卑斯(Alps)
- tableExport的快速上手及快速使用
- shell比较语法
- TQ210——交叉编译器的安装