题解 | #合唱队#

合唱队

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

import sys

def get_max_incre(this_tall):
    N = len(this_tall)
    dp=[1 for i in range(N)]
    for i in range(N):
        maxl = 1
        for j in range(i):
            if this_tall[i]>this_tall[j]:
                this_l = dp[j]+1
                if this_l>maxl:
                    maxl = this_l
        
        dp[i] = maxl
    return dp

if __name__ == "__main__": 
    N = int(input())
    for line in sys.stdin:
        tall = list(map(int,line.split()))
        tall_re = reversed(tall)
        tall_re = list(tall_re)

        l1 = get_max_incre(tall)
        l2 = get_max_incre(tall_re)
        l2.reverse()

        maxl = 0
        for i in range(N):
            if l1[i]+l2[i]>maxl:
                maxl=l1[i]+l2[i]

        print(N-(maxl-1))

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-23 18:34
点赞 评论 收藏
分享
感觉今年拿到大厂实习offer的人很多,光是身边同学室友都是好几个offer。由此可见,秋招得有多卷
小浪_Coding:必须卷的起飞, 应该比25更卷一点, 25已经是哀声一片了, 26会更难一点, 现在还有`很多25未找到的
点赞 评论 收藏
分享
05-12 17:28
已编辑
门头沟学院 硬件开发
ldf李鑫:不说公司名祝你以后天天遇到这样的公司
点赞 评论 收藏
分享
06-20 19:40
中原工学院 Java
网络存储:十几天不会让你拉人办卡就结束了吧?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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