招商银行信用卡中心实习笔试编程第二题

全AC,思路:先按照棍子的长度排序,然后遍历棍子的重量,筛选出最大递增的序列,这一部分的时间成本为1,剩下的不符合递增顺序的棍子利用同样方法处理,递归直到没有棍子。
T = int(input()) 
for t in range(T):
    n = int(input())
    length = [int(x) for x in input().split()]
    weight = [int(x) for x in input().split()]
    arr = list(zip(length, weight))
    arr.sort()

    def Find(arr):
        print(arr)
        if arr == []:
            return 0
        temp = []
        last = arr[0]
        for i in range(1, len(arr)):
            if arr[i][1] >= last[1]: # 注意这里要比较的是最近的符合递增条件的棍子,长度已经是递增顺序,只需比较重量即可
                last=arr[i]
            else:
                temp.append(arr[i])
        return 1 + Find(temp)
    print(Find(arr))


#笔试题目#
全部评论
niubility
3 回复 分享
发布于 2020-03-29 23:50
牛批!
点赞 回复 分享
发布于 2020-03-27 21:30

相关推荐

给我发了笔试链接,想着等晚上回去做,结果还没做流程就终止了
伟大的小黄鸭在学习:我猜就是笔试几乎没用,就是用来给用人部门拖时间复筛简历的,可能用人部门筛到你简历觉得不合适就提前挂了
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
07-21 18:43
门头沟学院 Java
是暑期都招满了吗
ANEOY:今年感觉真是后端地狱级难度了,从暑期就是这样,前端需求非常大
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发
点赞 评论 收藏
分享
06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
评论
1
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务