绍兴市网站建设,建设部网站资质升级陈述通过,小型购物网站开发,网站接入商排名给你一个升序排列的整数数组 nums #xff0c;和一个整数 target 。假设按照升序排序的数组在预先未知的某个点上进行了旋转。#xff08;例如#xff0c;数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] #xff09;。请你在数组中搜索 target #xff0c;如果数组中存在…给你一个升序排列的整数数组 nums 和一个整数 target 。假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] 。请你在数组中搜索 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提示1 nums.length 5000-10^4 nums[i] 10^4nums 中的每个值都 独一无二nums 肯定会在某个点上旋转-10^4 target 10^4#
# lc appleetcode.cn id33 langpython3
#
# [33] 搜索旋转排序数组
## lc codestart
class Solution:def search(self, nums: List[int], target: int) - int:n len(nums)l,r 0,n-1while(lr):mid(r-l)1midlif targetnums[mid]:return midif nums[mid]nums[0]:if targetnums[mid] or targetnums[0]:lmid1elif targetnums[mid] and targetnums[0]:rmid-1elif nums[mid]nums[0]:if targetnums[mid] or targetnums[n-1]:rmid-1elif targetnums[mid] and targetnums[n-1]:lmid1return -1# lc codeend