码迷,mamicode.com
首页 > 编程语言 > 详细

[leetcode]Search in Rotated Sorted Array II @ Python

时间:2014-06-16 08:20:54      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   java   http   

原题地址:https://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/

题意:

Follow up for "Search in Rotated Sorted Array":
What if duplicates are allowed?

Would this affect the run-time complexity? How and why?

Write a function to determine if a given target is in the array.

解题思路:还是二分查找的变种。需要考虑好边界情况。

代码:

bubuko.com,布布扣
class Solution:
    # @param A a list of integers
    # @param target an integer
    # @return a boolean
    def search(self, A, target):
        left=0; right=len(A)-1
        while left<=right:
            mid=(left+right)/2
            if A[mid]==target: return True
            if A[left]==A[mid]==A[right]:
                left+=1; right-=1
            elif A[left]<=A[mid]:
                if A[left]<=target<A[mid]: right=mid-1
                else: left=mid+1
            else:
                if A[mid]<=target<A[left]: left=mid+1
                else:right=mid-1
        return False
bubuko.com,布布扣

 

[leetcode]Search in Rotated Sorted Array II @ Python,布布扣,bubuko.com

[leetcode]Search in Rotated Sorted Array II @ Python

标签:style   class   blog   code   java   http   

原文地址:http://www.cnblogs.com/zuoyuan/p/3783671.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!