每日一题-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

posted @ 2021-07-05 23:51  2月2日  阅读(31)  评论(0)    收藏  举报