充值活动已开启,快来参与吧 关闭充值活动
当前位置: 高中信息技术 / 算法与程序设计 / 算法的程序实现 / 查找算法及程序实现
  • 1. 有如下Python程序段:

    a=[5,14,3,12,6,7,3,9,20,1]

    l=min(a);r=max(a)

    #min 取列表最小值,max 取列表最大值

    maxi=3

    while l<=r:

        mid=(l+r)//2

        cnt=0

        for i in a:

            if mid<i:

                cnt+=1

        if cnt<maxi:

            r=mid-1

        else:

            l=mid+1

    上述程序段执行结束,下列说法正确的是:(   )

    A . a列表中第3大的数r B . cnt的值为2 C . l的值为12 D . mid=(l+r)//2代码执行3次