美文网首页leetcode
33. Search in Rotated Sorted Arr

33. Search in Rotated Sorted Arr

作者: AnakinSun | 来源:发表于2019-03-22 13:30 被阅读0次

    分治思路

    func search(nums []int, target int) int {
        lo := 0
        hi := len(nums) - 1
    
        for lo < hi {
            mid := (lo + hi) / 2
            if nums[mid] == target {
                return mid
            }
            if nums[lo] <= nums[mid] {
                if target >= nums[lo] && target < nums[mid] {
                    hi = mid - 1
                } else {
                    lo = mid + 1
                }
            } else {
                if target > nums[mid] && target <= nums[hi] {
                    lo = mid + 1
                } else {
                    hi = mid - 1
                }
            }
    
        }
        if nums[lo] == target {
            return lo
        } else {
            return -1
        }
    }
    

    相关文章

      网友评论

        本文标题:33. Search in Rotated Sorted Arr

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