题解 | #合唱队#

合唱队

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

#可能会存在超时现象
def inc_max(N,hli):
    dp=[1]*N
    for i in range(1,N):
        for j in range(i):
            if hli[i]>hli[j]:
                dp[i]=max(dp[i],dp[j]+1)
    return dp
while True:
    try:
        N=int(input())
        hli=list(map(int,input().split(' ')))
        left_inc_max=inc_max(N,hli)
        right_inc_max=inc_max(N,hli[::-1])[::-1]
        lr_inc_max=[]
        for i in range(N):
            lr_inc_max.append(left_inc_max[i]+right_inc_max[i]-1)
        print(N-max(lr_inc_max))
    except:
        break

全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-04 05:12
kalistar:简历留六个字,北京大学(本科),黑体加粗,看看哪个hr不长眼敢碰瓷我们北大✌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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