PDD寻梦计划笔试题

第一题:

if __name__ == '__main__':
    input_info = input().strip().split(';')
    N = int(input_info[1])
    num_arr = list(map(int,input_info[0].split(',')))
    num_odd = []
    num_even = []
    for i in num_arr:
        if i % 2 == 0:
            num_even.append(i)
        else:
            num_odd.append(i)
    num_even.sort(reverse=True)
    num_odd.sort(reverse=True)
    if len(num_even) >= N:
        print(','.join(str(i) for i in num_even[0:N]))
    elif len(num_even) + len(num_odd) >= N:
        res = num_even + num_odd
        print(','.join(str(i) for i in res[0:N]))
    else:
        res = num_even + num_odd
        print(','.join(str(i) for i in res))

第二题:

def judge(arr1 ,arr2):
    desc = True
    right = True
    for i in range(0,len(arr1)):
        if arr1[i] != arr2[i]:
            desc = False

    for i in range(0,len(arr1)):
        if arr1[i] != arr2[-i-1]:
            right = False
    if desc:
        return 1
    elif right:
        return 0
    else:
        return -1



def get_arr(input_info):
    arr = []
    while input_info >= 10:
        arr.append(input_info%10)
        input_info = int(input_info/10)
    arr.append(input_info)
    arr.reverse()
    return arr

if __name__ == '__main__':
    s = int(input())
    for i in range(0,s):
        print('{')
        mei_arr = get_arr(int(input()))
        bai_arr = get_arr(int(input()))
        oper = []
        for i in range(len(mei_arr)-1,-1, -1):
            Judge = True
            for j in bai_arr:
                if mei_arr[i] == j:
                    Judge = False
            if Judge:
                del mei_arr[i]
                oper.append('d')
        if len(mei_arr) != len(bai_arr):
            print('}')
            continue
        else:
            res = judge(mei_arr,bai_arr)
            res1 = oper.copy()
            res2 = oper.copy()
            res1.append('l')
            res2.append('r')
            if res == 1:
                if len(mei_arr) > 1:
                    for i in range(1,len(mei_arr)):
                        res1.append('r')
                        res2.append('r')
                print(' '.join(i for i in res1))
                print(' '.join(i for i in res2))
            elif res == 0:
                if len(mei_arr) > 1:
                    for i in range(1,len(mei_arr)):
                        res1.append('l')
                        res2.append('l')
                print(' '.join(i for i in res1))
                print(' '.join(i for i in res2))
            print('}')

第三题:

if __name__ == '__main__':
    n = int(input())
    xi = list(map(int,input().strip().split()))
    arr_dict = []
    for i in xi:
        temp = []
        for j in range(1,i+1):
            temp.append(j)
        arr_dict.append(temp)
    arr_dict.sort()
    arr_dict.reverse()
    sum = 0
    fenmu = 1
    len_arr = []
    for i in arr_dict:
        fenmu *= len(i)
        len_arr.append(len(i))
    fenzi = 0
    res = []
    index = 0
    for i in arr_dict:
        for k in i:
            temp_fenzi = k
            for j in range(0,len(len_arr)):
                if k >= len_arr[j]:
                    if index < j:
                        temp_fenzi *= len_arr[j]
                    elif index > j:
                        temp_fenzi *= (len_arr[j] - 1)
                else:
                    if index < j:
                        temp_fenzi *= k
                    elif index > j:
                        temp_fenzi *= (k-1)
            fenzi += temp_fenzi
        index += 1


    res = fenzi/fenmu
    print(round(res,2))

第四题:

if __name__ == '__main__':
    n,m,k = list(map(int,input().strip().split()))
    res = []
    for i in range(m,-1,-1):
        for j in range(n,-1,-1):
            res.append(i*j)
    res.sort()
    res.reverse()
    print(res[k-1])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值