题目描述
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。
例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。
(水题,不知道题目想表达什么。。。)
没说明旋转规则是什么,“若干个“就是随便旋转咯?
{3,4,5,1,2} 旋转可以为{1,2,3,4,5}
是不是也可以为:{3,4,5,1,2},{4,5,1,2,3}, {5,1,2,3,4}, {1,2,3,4,5},{2,3,4,5,1},
然后让输出数组最小值。。。
重点:不管数组怎么排序,输出的是最小值。。。。
一个for循环搞定。
package com.xxxx;
/**
* create by ziqiiii
*/
public class Example {
/*
*/
public int minNumberInRotateArray(int[] array) {
int len = array.length;
if (len <= 0) {
return 0;
}
int min = array[0];
for (int i = 1; i < len; i++) {
if (min > array[i]) {
min = array[i];
}
}
return min;
}
}
牛客网运行: