题解 | #合唱队#
合唱队
https://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4
def fun(nums):
n = len(nums)
dp = [1] * len(nums)
for i in range(n):
for j in range(i):
if nums[j] < nums[i] and dp[i] < dp[j]+1:
dp[i] = dp[j] + 1
return dp
n = int(input())
nums = list(map(int,input().split()))
dp1 = fun(nums)
dp2 = fun(nums[::-1])[::-1]
maxlen = 0
for i in range(n):
maxlen = max(dp1[i]+dp2[i]-1,maxlen)
print(n - maxlen)

查看23道真题和解析