Python分治法问题

img


不清楚怎么改,显示错误于第四行,报错是object of type “int”has no len()

你的代码基本逻辑没错,你可能要看一下输入是否正确,我从接入上看不到你的输入。

我实现了一版,可以正常输出,供你参考。

def min_max(a):
    if type(a) is int or type(a) is float:
        return a, a
    if len(a) == 1:
        return a[0], a[0]
    if len(a) == 2:
        return min(a), max(a)
    m = len(a) // 2
    lmin, lmax = min_max(a[:m])
    rmin, rmax = min_max(a[m:])
    return min(lmin, rmin), max(lmax, rmax)


if __name__ == "__main__":
    A = eval(input())
    print("Minimum and Maximum: %g, %g" % (min_max(A)))

img

img