題目描述
有乙個排過序的陣列,包含n個整數,但是這個陣列向左進行了一定長度的移位,例如,原陣列為[1,2,3,4,5,6],向左移位5個位置即變成了[6,1,2,3,4,5],現在對於移位後的陣列,需要查詢某個元素的位置
def find(nums,target):
low,high=0,len(nums)-1
mid=(low+high)//2
if nums[mid]==target:
return mid
while(lownums[mid]:
low=mid+1
else:
high=mid-1
else:#如果後半段有序[8,9,1,2,3,4,5,6,7] nums[low]>nums[mid],1
# l m h
if target >nums[mid]:
low=mid+1
else:
high=mid-1
return -1
print(find([2,3,4,5,1],5))
在有序旋轉陣列中找到乙個數
題目 有序陣列arr可能經過一次旋轉處理,也可能沒有,且arr可能存在重複的數。例如,有序陣列 1,2,3,4,5,6,7 可以旋轉處理成 4,5,6,7,1,2,3 等。給定乙個可能旋轉過的有序陣列arr,再給定乙個數num,返回arr中是否含有num。public class getnum in...
在有序旋轉陣列中找到乙個數
在有序旋轉陣列中找到乙個數 有序陣列arr可能經過一次旋轉處理,也可能沒有,且arr可能存在重複的數。例如,有序陣列 1,2,3,4,5,6,7 可以旋轉處理成 4,5,6,7,1,2,3 等。給定乙個可能旋轉過的有序陣列arr,再給定乙個數num,返回arr中是否含有num 關於旋轉操作 可以簡單...
在有序旋轉陣列中查詢最小值
有序陣列a經過一次旋轉處理,也可能沒有旋轉,且a中肯能存在重複的數字。例如有序陣列 1,2,3,4,5,6 可以旋轉處理成 4,5,6,1,2,3 特例一,1,2,3,4,4,4,4,4,4 旋轉成 4,4,4,4,4,1,2,3,4 特例二,1,2,3,4,4,4,4,4,4 旋轉成 4,1,2,...