/**
 * 目标:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
 * 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
 * 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
 * NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。
 * 思路:
 * 当遇到第一个小于前面的数时,即可能为最小值,把此值跟第一个值进行对比得出结果
 */
public class Solution6 {
    public int minNumberInRotateArray(int[] array) {
        if (array.length == 0) {
            return 0;
        }
        int min = array[0];
        for (int i = 0; i < array.length - 1; i++) {
            if (array[i] > array[i + 1]) {
                if (min > array[i + 1]) {
                    min = array[i + 1];
                }
            }
        }
        return min;
    }
}

 

相关文章:

  • 2022-12-23
  • 2022-01-10
  • 2022-12-23
  • 2021-10-14
  • 2021-11-30
  • 2021-08-11
  • 2021-12-29
猜你喜欢
  • 2021-07-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案