全部评论
第二题AC代码,相当于计算最少有几个递增序列。 nums=[[4,1],[9,3],[5,5],[2,4],[2,1]] def solution(nums): nums.sort(key=lambda x:(x[0],x[1])) res=[nums[0]] for num in nums[1:]: found=False for i in range(len(res)): if num[0]>=res[i][0] and num[1]>=res[i][1]: res[i]=num found=True break if found==False: res.append(num) return len(res) solution(nums)
第二题做不出来啊,啥情况
第一题也没想明白
第二题最长子序列数量,第一题不为0的数组数量+1.。。
第二题 wooden sticks
第一题 鸽巢原理
第二题用非支配排序
第二题我用的贪心AC了
我的思路,全A: #每次筛选符合大于等于的棍子,保证递增顺序,不符合条件的放在一个数组递归。 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))
相关推荐
11-30 17:56
西安工业大学 C工程师 点赞 评论 收藏
分享