题解 | 合唱队形

合唱队形

https://www.nowcoder.com/practice/0045cd3e39634a66ada63c2adeb49234

import sys

n = int(input())

arr = list(map(int,input().split()))
rarr = arr[::-1]
dpn = [1 for _ in range(n)]
dpm = [1 for _ in range(n)]

for i in range(1,n):
    for j in range(i):
        if arr[i] > arr[j]:
            dpn[i] = max(dpn[i],dpn[j]+1)
for i in range(1,n):
    for j in range(i):
        if rarr[i] > rarr[j]:
            dpm[i] = max(dpm[i],dpm[j]+1)
    
dp = result = [x + y for x, y in zip(dpn, dpm[::-1])]
res = (n+1)-max(dp)
print(res)



   

全部评论

相关推荐

用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务