题解 | 合唱队形

合唱队形

https://www.nowcoder.com/practice/cf209ca9ac994015b8caf5bf2cae5c98

def hechang(s, n):
    m = 0
    dp1 = [1]*n
    dp2 = [1]*n
    # dp1[0] = 1
    # dp2[0] = 1
    for i in range(1, n):
        for j in range(0, i):
            if s[i] > s[j]:
                dp1[i] = max(dp1[i], dp1[j]+1)
    for i in range(n-2, -1, -1):
        for j in range(n-1, i, -1):
            if s[i] > s[j]:
                dp2[i] = max(dp2[i], dp2[j]+1)
    for i in range(n):
        a = dp2[i] + dp1[i]
        m = max(a, m)
    return n - m + 1
n = int(input())
s = list(map(int, input().split()))
print(hechang(s, n))

全部评论

相关推荐

已注销:bro不如吃顿疯狂星期四
点赞 评论 收藏
分享
迷茫的大四🐶:看来已经准备换人了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务