算法之旅012 - 二分搜索Level1 Day12


跟着LeetCode的Study Plan重温一遍各种经典算法,本期是二分搜索算法Level1 Day12。

题目构成:Medium*1

153. Find Minimum in Rotated Sorted Array

33. Search in Rotated Sorted Array类似,33题是找目标值,这道题是找最小值。代码(Golang)如下:

    func findMin(nums []int) int {
        i, j := 0, len(nums) - 1
        
        
        for i <= j {
            m := (i+j)/2
            v := nums[m]
            if v == nums[i] {
                if nums[i] > nums[j] {
                    return nums[j]
                }
                return nums[i]
            }
            if v > nums[j] {
                i = m + 1
            } else {
                j = m
            }
        }
        
        return -1
    }