[leetcode] 154.寻找旋转排序数组中的最小值 II
生活随笔
收集整理的這篇文章主要介紹了
[leetcode] 154.寻找旋转排序数组中的最小值 II
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
已知一個(gè)長(zhǎng)度為 n 的數(shù)組,預(yù)先按照升序排列,經(jīng)由 1 到 n 次 旋轉(zhuǎn) 后,得到輸入數(shù)組。例如,原數(shù)組 nums = [0,1,4,4,5,6,7] 在變化后可能得到:
若旋轉(zhuǎn) 4 次,則可以得到 [4,5,6,7,0,1,4]
若旋轉(zhuǎn) 7 次,則可以得到 [0,1,4,4,5,6,7]
注意,數(shù)組 [a[0], a[1], a[2], ..., a[n-1]] 旋轉(zhuǎn)一次 的結(jié)果為數(shù)組 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。
給你一個(gè)可能存在?重復(fù)?元素值的數(shù)組?nums?,它原來是一個(gè)升序排列的數(shù)組,并按上述情形進(jìn)行了多次旋轉(zhuǎn)。請(qǐng)你找出并返回?cái)?shù)組中的?最小元素?。
示例 1:
輸入:nums = [1,3,5] 輸出:1示例 2:
輸入:nums = [2,2,2,0,1] 輸出:0 class Solution:def findMin(self,nums:List[int])->int:left,right = 0,len(nums)-1while left<right:mid = left+(right-left)//2if nums[mid]<nums[right]:right=midelif nums[mid]>nums[right]:left = mid+1else:right-=1return nums[left]總結(jié)
以上是生活随笔為你收集整理的[leetcode] 154.寻找旋转排序数组中的最小值 II的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode] 704.二分查找
- 下一篇: [leetcode] 206.反转链表