题解 | #合唱队#

合唱队

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))

全部评论

相关推荐

03-14 11:58
门头沟学院 Java
腾讯暑期实习java选手,完全不懂C++,貌似游戏行业都是用C++的而且天美好像在成都,个人比较想去上海或深圳
siestaaaaaa:天美不止在成都,深圳上海都有。 游戏服务器也不全是cpp,至少我们项目是java ,但是工作中什么语言都会用到,比如cpp、lua、py等等,语言本身其实不重要
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务