美文网首页
153. 寻找旋转排序数组中的最小值

153. 寻找旋转排序数组中的最小值

作者: Andysys | 来源:发表于2019-12-30 22:24 被阅读0次
        public int findMin(int[] nums) {
            if (nums.length == 1) {
                return nums[0];
            }
            int left = 0, right = nums.length - 1;
            if (nums[0] < nums[right]) {
                return nums[0];
            }
            while (left <= right) {
                int mid = left + (right - left) / 2;
                if (nums[mid] > nums[mid + 1]) {
                    return nums[mid + 1];
                }
                if (nums[mid - 1] > nums[mid]) {
                    return nums[mid];
                }
                if (nums[mid] > nums[0]) {
                    left = mid + 1;
                } else {
                    right = mid;
                }
            }
            return -1;
        }
    

    相关文章

      网友评论

          本文标题:153. 寻找旋转排序数组中的最小值

          本文链接:https://www.haomeiwen.com/subject/mbbeoctx.html