zoukankan      html  css  js  c++  java
  • LeetCode(力扣)——Search in Rotated Sorted Array2 搜索旋转排序数组 python实现

    题目描述:

    python实现 Search in Rotated Sorted Array2 搜索旋转排序数组  

      中文:

      假设按照升序排序的数组在预先未知的某个点上进行了旋转。

      ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。

      编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。

      英文:

      Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

      (i.e., [0,0,1,2,2,5,6] might become [2,5,6,0,0,1,2]).

      You are given a target value to search. If found in the array return true, otherwise return false.

    class Solution(object):
        def search(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: bool
            """
            start=0
            
            ends=len(nums)-1
            while start<=ends:
                mid=(start+ends)/2
                if nums[mid]==target: return True
                if nums[start]==nums[mid]==nums[ends]:
                    start+=1;
                    
                    ends-=1
                elif nums[start]<=nums[mid]:
                    if nums[start]<=target<nums[mid]:
                        
                        ends=mid-1
                    else: start=mid+1
                else:
                    if nums[mid]<=target<nums[start]: 
                        
                        start=mid+1
                    else:
                        
                        ends=mid-1
            return False 

    题目来源:力扣题库



  • 相关阅读:
    使用Redis做MyBatis的二级缓存
    MySQL 类型转换
    mysql store procedure 存储过程
    swagger
    redis 持久化
    redis 发布/订阅 模式
    dfs模板
    二叉树
    拓扑排序
    最大公因数(辗转相除法)
  • 原文地址:https://www.cnblogs.com/spp666/p/11536451.html
Copyright © 2011-2022 走看看