class Solution:
def search(self, nums: List[int], target: int) -> int:
left, right = 0, len(nums) - 1
while left <= right:
curr_ind = (right left)//2
print(nums[curr_ind 1:len(nums)])
if nums[curr_ind] == target:
return curr_ind
elif nums[curr_ind] > target:
return search(nums[left:curr_ind], target)
elif nums[curr_ind] < target:
return search(nums[curr_ind 1:len(nums)], target)
return -1
我在倒數第二行收到 Unhashable Type 'list' 錯誤。我不認為我在這個問題中使用了字典,但我不確定為什么它會給我這個錯誤。
uj5u.com熱心網友回復:
我認為您錯誤地使用了遞回,試試這個:
class Solution:
def search(self, nums: List[int], target: int) -> int:
left, right = 0, len(nums) - 1
while left <= right:
curr_ind = (right left)//2
print(nums[curr_ind 1:len(nums)])
if nums[curr_ind] == target:
return curr_ind
elif nums[curr_ind] > target:
right = curr_ind - 1
elif nums[curr_ind] < target:
left = curr_ind 1
return -1
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/347713.html
