有关下列Python二分查找代码的说法,正确的是?

nv841614 单选题 共 个子题
def bSearch(lst, val):
    def __bSearch(lst, Low, High, queryVal):
        if Low > High:
            return -1

        midIdx = (Low + High) // 2
        midVal = lst[midIdx]

        if queryVal == midVal:
            return midIdx
        elif queryVal < midVal:
            return __bSearch(lst, Low, midIdx - 1, queryVal)
        else:
            return __bSearch(lst, midIdx + 1, High, queryVal)

    return __bSearch(lst, 0, len(lst), val)

lst = list(range(10))
print(bSearch(lst,3))
A

代码采用二分法查找,仅对有序list有效,不适用于set、dict等

B

在函数内定义函数,存在多次调用多次定义,因此存在错误

C

第16行代码__bSearch()最后一个参数val应为queryVal

D

第16行代码应为return __bSearch

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧