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写法
点赞 评论

相关推荐

牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务