• 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 

    题目来源:力扣题库



  • 相关阅读:
    Spring框架ioc概括
    Hibernate之二级缓存
    Hibernate之HQL
    Hibernate一对多自关联、多对多关联
    数据结构 | 链表:1097 删除重复元素
    数据结构 | 链表:1074
    在pat考试中快速调整Dev-cpp颜色配置
    dijkstra算法的堆优化
    链式前向星-学习笔记
    图的遍历 | 1131地铁图: dfs复杂模拟题
  • 原文地址:https://www.cnblogs.com/spp666/p/11536451.html
Copyright © 2020-2023  润新知