Python返回None而不是valu

2024-09-29 23:16:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在这里实现一个非常简单的二进制搜索问题:返回给定目标的正/负一数组的索引。在

然而,当我执行这段代码时,我的结果总是没有。Python似乎没有捕获我的返回值。在

我的代码是:

class Solution:
        def closestNumber(self, A, target):
        if len(A) == None:
            return -1

        if target - 1 > A[-1] or target + 1 < A[0]:
            return -1

        result = self.BinarySearch(0,len(A), A, target)
        return result

def BinarySearch(self,startIndex, endIndex, A, target):
    if startIndex > endIndex:
        return -1

    mid = (startIndex + endIndex)//2
    print(mid)
    if target == A[mid]:
        return mid

    if target + 1 == A[mid] or target - 1 == A[mid]:
        return mid

    if target + 1 > A[mid]:
        self.BinarySearch(mid, endIndex, A, target)

    if target - 1 < A[mid]:
        self.BinarySearch(startIndex, mid, A, target)


print(Solution().closestNumber([1,4,6,10,20],21))

任何帮助将不胜感激!在

谢谢!在


Tags: or代码selftargetlenreturnifdef

热门问题