t = int(input().strip()) def solu(num): n = len(num) ans = [num[0]] for i in range(1, n): if num[i] > ans[-1]: ans.append(num[i]) else: l, r = 0, len(ans) while l <= r: mid = (l + r) // 2 if num[i] > ans[mid]: l = mid + 1 elif num[i] < ans[mid]: r = mid - 1 else: r = mid -1 break ans[r + 1] = num[i] return len(ans) for _ in range(t): n = int(input().strip()) nums = list(map(int, input().strip().split(' '))) res = solu(nums) res = max(res, solu(nums[::-1])) print(len(nums) - res) 第二题 python写法
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
asdasdasda...:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务