题解 | #合唱队#LongestDecreasingSubsequence
合唱队
http://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4
提交了3次,其中2次通过,1次运行超时。
def forwardLDS(nums):
n = len(nums)
L = [1] * n
for i in reversed(range(n)):
for j in range(i+1, n):
if nums[i] > nums[j]:
L[i] = max(L[i], L[j] + 1)
return L
def minDrop(nums):
a = forwardLDS(nums)
b = forwardLDS(nums[::-1])[::-1]
return len(nums) - max(a[i] + b[i] for i in range(len(nums))) + 1
while 1:
try:
m, nums = int(input()), list(map(int, input().split()))
print(minDrop(nums))
except:
break