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(' &(5528)#39;))) res = solu(nums) res = max(res, solu(nums[::-1])) print(len(nums) - res) 第二题 python写法