每日一题-Day19-旋转数组的最小值
题目
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
NOTE:给出的所有元素都大于0,若数组大小为0,请返回0
解题思路
冒泡排序
通过冒泡排序将数组从小到大排序,返回的第一个数即是最小值
二分查找
因为该数组为旋转数组,数组大体有序,可以较快查找出答案
import java.util.ArrayList;
public class Solution {
public int minNumberInRotateArray(int [] array) {
int[] result = array;
int temp=0;
if(result==null) return 0;
for(int i =0;i<result.length;i++){
for(int j=i+1;j<result.length;j++)
if(array[i]>result[j]){
temp= result[i];
result[i]=result[j];
result[j]=temp;
}
}
return result[0];
}
}
来源:剑指offer
链接:https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba?tpId=13