题解 | #合唱队#LongestDecreasingSubsequence

合唱队

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

提交了3次,其中2次通过,1次运行超时。

def forwardLDS(nums):
    n = len(nums)
    L = [1] * n
    for i in reversed(range(n)):
        for j in range(i+1, n):
            if nums[i] > nums[j]:
                L[i] = max(L[i], L[j] + 1)
    return L
def minDrop(nums):
    a = forwardLDS(nums)
    b = forwardLDS(nums[::-1])[::-1]
    return len(nums) - max(a[i] + b[i] for i in range(len(nums))) + 1
while 1:
    try:
        m, nums = int(input()), list(map(int, input().split()))
        print(minDrop(nums))
    except:
        break
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务