Trying to create a Binary Search Program, but keep getting this error: TypeError: first argument must be string or compiled pattern
Trying to create a Binary Search Program, but keep getting this error: TypeError: first argument must be string or compiled pattern
我正在尝试创建二进制搜索程序,但不断收到此错误:类型错误:第一个参数必须是字符串或编译模式。
我的方法是 class“解决方案”的一部分,第一个参数是一个整数列表。第二个参数是一个整数。
class Solution:
def search(self, nums: List[int], target: int) -> int:
print(type(nums))
if len(nums) == 1:
if nums[0] == target:
return nums.index(target)
else:
return -1
halfValue = len(nums)//2
firstHalf = nums[:halfValue]
secondHalf = nums[halfValue:]
if halfValue > target:
search(self, firstHalf, target)
elif halfValue < target:
search(self, secondHalf, target)
elif halfValue == target:
return nums.index(target)
你不是在调用你自己的 search
函数,你是在调用 LeetCode 为你全局导入的 re.search
函数。请改用 self.search(firstHalf, target)
(第二种情况也是如此)。
(您还有其他错误,nums.index(target)
违背了二进制搜索的目的,但这不是这里的问题...)
我正在尝试创建二进制搜索程序,但不断收到此错误:类型错误:第一个参数必须是字符串或编译模式。
我的方法是 class“解决方案”的一部分,第一个参数是一个整数列表。第二个参数是一个整数。
class Solution:
def search(self, nums: List[int], target: int) -> int:
print(type(nums))
if len(nums) == 1:
if nums[0] == target:
return nums.index(target)
else:
return -1
halfValue = len(nums)//2
firstHalf = nums[:halfValue]
secondHalf = nums[halfValue:]
if halfValue > target:
search(self, firstHalf, target)
elif halfValue < target:
search(self, secondHalf, target)
elif halfValue == target:
return nums.index(target)
你不是在调用你自己的 search
函数,你是在调用 LeetCode 为你全局导入的 re.search
函数。请改用 self.search(firstHalf, target)
(第二种情况也是如此)。
(您还有其他错误,nums.index(target)
违背了二进制搜索的目的,但这不是这里的问题...)