题解 | #素数伴侣#

合唱队

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

# 已优化不超时
def func(lst,num):
    stu_lst = [1]*num
    for i in range(1,num):
        for j in range(i):
            if lst[i]>lst[j]:
                stu_lst[i] = max(stu_lst[j]+1,stu_lst[i])
    return stu_lst

def main(num,lst):
    left = func(lst,num)
    right = func(lst[::-1],num)[::-1]
    print(num-max(i+j-1 for i,j in zip(left,right)))
while True:
    try:
        num = int(input())
        lst = [int(i) for i in input().split()]
        main(num,lst)
    except:
        break

全部评论

相关推荐

07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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