题解 | #合唱队#

合唱队

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

number = int(input())
data = list(map(int,input().split()))
def Z(data):# 动态规划,递增序列
    n = [1]*len(data)
    for i in range(len(data)):
        for j in reversed(range(i)):
            if data[j] < data[i]:
                n[i] = max(n[i], n[j]+1)
    return n
def J(data):# 动态规划,递减序列
    n = [1] * len(data)
    for i in reversed(range(len(data))):
        for j in range(i + 1, len(data)):
            if data[j] < data[i]:
                n[i] = max(n[i], n[j] + 1)
    return n
a,b,c = [],Z(data),J(data)
for i in range(number):
    a.append(b[i] + c[i] - 1)
print(number - max(a))

全部评论

相关推荐

不愿透露姓名的神秘牛友
08-20 15:31
已编辑
点赞 评论 收藏
分享
09-12 00:38
华为_软件开发
看到菊厂有些部门已经投炸了,同学还一股脑往里面冲
英莉莉:华为的hr比hc多,为了忽悠你投,他们hr会用话术给你很大的希望,比如你的简历很好,只要随便面面肯定能过之类的,应届的学生哪里见识过这种套路?然后投了之后就当分母去了。
投递华为等公司10个岗位 >
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务