153. Find Minimum in Rotated Sorted Array

mac2026-08-28  7

Problem Description:

Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e.,  [0,1,2,4,5,6,7] might become  [4,5,6,7,0,1,2]).

Find the minimum element.

You may assume no duplicate exists in the array.

Example 1:

Input: [3,4,5,1,2] Output: 1

Example 2:

Input: [4,5,6,7,0,1,2] Output: 0

Analysis:

本题利用了其旋转的特点,从后向前遍历找到第一个数值其小于后面一个值。代码如下:

Code:

class Solution { public int findMin(int[] nums) { for(int i = nums.length - 2; i >= 0; i--) { if(nums[i] > nums[i + 1]) { return nums[i + 1]; } } return nums[0]; } }

 

最新回复(0)