Day4 笔试总结

第2题

Day4 笔试总结

思路

从最高位开始依次给数据,本地运行时,样例通过了,但AC一直为0,,,
求解答

import sys

arr=[2,1,0,0,1,0,1,0,0]
a=2
b=3
ka=2
kb=3
lista=[]
listb=[]
value=[]
i=0


while kb>0 or ka>0:
    
    if arr[i]>=2:
        if ka>0 and kb>0:
            lista.append(i)
            listb.append(i)
            ka-=1
            kb-=1
            count=arr[i]-2
        elif ka>0 and kb==0:
            lista.append(i)
            ka-=1
            count=arr[i]-1
        elif ka==0 and kb>0:
            lista.append(i)
            ka-=1 
            count=arr[i]-1
    elif arr[i]==1:
        if ka>=kb:
            lista.append(i)
            ka-=1
        else: 
            listb.append(i)
            kb-=1
            count=arr[i]-1   
    
    if count==0:
        i+=1
    else:
        arr[i]=count
arr_a=0        
for i in range(len(lista)):
    arr_a=arr_a+lista[i]*(10**(len(lista)-i-1))
    
arr_b=0        
for i in range(len(listb)):
    arr_b=arr_b+listb[i]*(10**(len(listb)-i-1))

第3题

Day4 笔试总结

def f(n):
    if n<=1:
        return 1
    else:
        return n*f(n-1)
    
print(f(3))   
    
    
lista=[31,18,19,1,25]
d=10
lista.sort()
count=0
for i in range(len(lista)-1):
    temp=lista[i]
    l=lista[i+1]
    r=len(lista)-1
    while l<r:
        k=int((l+r)/2)
        if (lista[k])-temp<d:           
            count=count+f(i-k+1)/2
            i=k+1
        else:
            r=k
print(count/f(len(lista))/2)

写不出来了,,,求大佬解答

相关文章:

  • 2022-12-23
  • 2021-11-06
  • 2021-10-25
  • 2021-06-20
  • 2022-01-01
  • 2021-10-30
  • 2021-11-12
猜你喜欢
  • 2021-05-15
  • 2022-01-01
  • 2021-09-20
  • 2021-11-27
  • 2021-06-14
  • 2021-04-10
  • 2021-07-18
相关资源
相似解决方案