[查找]面试题4

来源:互联网 发布:android 启动时间优化 编辑:程序博客网 时间:2024/05/19 19:16

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。

分析思路:因为输入是一个非递减序列的旋转,因此找到第一个逆序的元素就是最小值

package cto;/** * 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转, * 输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 *  * @author ywf *  */public class ArrayTest {public int minNumberInRotateArray(int[] array) {if (array == null || array.length == 0) {return 0;}int minEle = array[0];for (int i = 0; i < array.length - 1; i++) {if (array[i] > array[i + 1]) {minEle = array[i + 1];break;}}return minEle;}}



0 0
原创粉丝点击