[leetcode] 154.寻找旋转排序数组中的最小值 II
生活随笔
收集整理的這篇文章主要介紹了
[leetcode] 154.寻找旋转排序数组中的最小值 II
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
已知一個長度為 n 的數組,預先按照升序排列,經由 1 到 n 次 旋轉 后,得到輸入數組。例如,原數組 nums = [0,1,4,4,5,6,7] 在變化后可能得到:
若旋轉 4 次,則可以得到 [4,5,6,7,0,1,4]
若旋轉 7 次,則可以得到 [0,1,4,4,5,6,7]
注意,數組 [a[0], a[1], a[2], ..., a[n-1]] 旋轉一次 的結果為數組 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。
給你一個可能存在?重復?元素值的數組?nums?,它原來是一個升序排列的數組,并按上述情形進行了多次旋轉。請你找出并返回數組中的?最小元素?。
示例 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]總結
以上是生活随笔為你收集整理的[leetcode] 154.寻找旋转排序数组中的最小值 II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode] 704.二分查找
- 下一篇: [leetcode] 206.反转链表