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

相关推荐

那么好了好了:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
牛客网
牛客企业服务