面试题8:旋转数组的最小数字
2016-01-11 14:08
495 查看
算法思想:参考二分查找
public class Demo8 { public int min(int[] array) throws Exception{ if(array == null) { throw new Exception("invalid"); } int index1=0; int index2=array.length-1; int mid=index1; while(array[index1] >= array[index2]) { if(index2-index1 == 1) { mid=index2; break; } mid=(index1+index2)/2; if(array[mid] >= array[index1]) { index1=mid; } else if(array[mid] <= array[index2]) { index2=mid; } } return array[mid]; } public static void main(String[] args) throws Exception { int arr[]=new int[]{6,7,8,2,3,4,5}; Demo8 demo=new Demo8(); int min=demo.min(arr); System.out.println(min); } }
相关文章推荐
- 关于经典面试一年多少秒的思考!启发#define与UL!
- IOS-面试题
- 面试总结
- 每个程序员都应该了解的内存知识【第一部分】
- 每个程序员都应该了解的 CPU 高速缓存
- 面试题7:用两个栈实现队列+用两个队列实现栈
- 黑马程序员——iOS 开发学习---登录注册页面跳转
- 三招搞定群体面试
- 面试题3:二维数组中的查找
- 我是如何准备ThoughtWorks面试的
- 程序员
- 程序员遇到BUG后,最好的方法是?
- ios面试题(附答案)
- 这个寒冬,如何赶走职场之“霾”
- 面试题
- 黑马程序员——正则篇
- 有人说中文编辑是解决中国程序员编程效率的秘密武器,请问他是一个银弹吗?
- 黑马程序员——数组篇
- 面试经历---广州金砖信息技术有限公司(2015年11月25日上午面试)
- 面试经历---YY欢聚时代(2015年11月21日上午初试、25日下午复试)