题解 | #合唱队#

合唱队

https://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

num= int(input())
ret = []
student = list(map(int, input().split()))

def deep(l):
    dp = [1] * len(l)
    for i in range(len(l)):
        for j in range(i):
            if l[i] > l[j]:
                dp[i] = max(dp[i],dp[j]+1)
    return dp

left = deep(student)
right = deep(student[::-1])[::-1]
for i in range(num):
    ret.append(left[i] + right[i] -1)
mini = num- max(ret) 
print(mini)

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务