Leetcode 33.搜索旋转排序数组 (每日一题 20210707)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 33.搜索旋转排序数组 (每日一题 20210707)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
整數數組 nums 按升序排列,數組中的值 互不相同 。在傳遞給函數之前,nums 在預先未知的某個下標 k(0 <= k < nums.length)上進行了 旋轉,使數組變為 [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下標 從 0 開始 計數)。例如, [0,1,2,4,5,6,7] 在下標 3 處經旋轉后可能變為?[4,5,6,7,0,1,2] 。給你 旋轉后 的數組 nums 和一個整數 target ,如果 nums 中存在這個目標值 target ,則返回它的下標,否則返回?-1?。示例 1:輸入:nums = [4,5,6,7,0,1,2], target = 0
輸出:4
示例?2:輸入:nums = [4,5,6,7,0,1,2], target = 3
輸出:-1
示例 3:輸入:nums = [1], target = 0
輸出:-1鏈接:https://leetcode-cn.com/problems/search-in-rotated-sorted-arrayclass Solution:def search(self, nums: List[int], target: int) -> int:left,right = 0,len(nums)-1while left < right:mid = left + (right - left)//2if nums[0] <= nums[mid] and (target > nums[mid] or target < nums[0]):left = mid + 1elif(target > nums[mid] and target < nums[0]):left = mid + 1else:right = midif left == right and nums[left] == target: return leftreturn -1
總結
以上是生活随笔為你收集整理的Leetcode 33.搜索旋转排序数组 (每日一题 20210707)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于文本挖掘的企业隐患排查质量分析模型
- 下一篇: Leetcode 56.合并区间 (每日