Python3 救救孩子,二分查找超时,怎么办
查看原帖
Python3 救救孩子,二分查找超时,怎么办
143151
夏云锋楼主2021/11/19 14:50
n,xw=input().split()
n=eval(n)
xw=eval(xw)
b=input().split()
a=input().split()
def ef(n,l,r):
    while(l<r):
        mid=int(l+(r-l)/2)
        if(eval(n)>eval(b[mid])):
            l=mid+1
        else:
            r=mid
    if(b[l]==n):
        return l+1,l
    else:
        return -1,l
for i in range(xw):
    l=0
    r=n-1
    if i!=0:
        if(eval(a[i])>eval(a[i-1])):
            l=t
        elif(a[i]==a[i-1]):
            l=t
            r=t
        else:
            r=t
    end,t=ef(a[i],l,r)
    print(end,end=" ")

2021/11/19 14:50
加载中...