[算法题] Search in Rotated Sorted Array ii
生活随笔
收集整理的這篇文章主要介紹了
[算法题] Search in Rotated Sorted Array ii
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目內容
題目來源:LeetCode
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).
Write a function to determine if a given target is in the array.
The array may contain duplicates.
題目思路
本題難度:medium
這個題目是基于上一道題Search in Rotated Sorted Array改進的。在上一道題當中,nums[start]和nums[mid]的判斷中,將<和=是聯合在一起進行判斷的。在本題當中,假如nums[start]==nums[mid],那么將start+=1,將start轉移到不等的地方。
Python代碼
class Solution(object):def search(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""if nums==[]:return Falseend=len(nums)-1start=0while start<=end:mid=(start+end)/2if nums[mid]==target:return Trueif nums[mid]>nums[start]:if nums[start]<=target and target<nums[mid]:end=midelse:start=mid+1elif nums[mid]<nums[start]:if nums[end]>=target and nums[mid]<target:start=mid+1else:end=midelse:start+=1return False?
轉載于:https://www.cnblogs.com/chengyuanqi/p/7120327.html
總結
以上是生活随笔為你收集整理的[算法题] Search in Rotated Sorted Array ii的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DataTables实现rowspan思
- 下一篇: 线程如何同步和通讯