← 返回题库
初级

综合练习P2

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(n, arr):
    n = int(n)
    arr = list(map(int, str(arr).split(',')))
    lis = [1] * n
    for i in range(1, n):
        for j in range(i):
            if arr[j] < arr[i]:
                lis[i] = max(lis[i], lis[j] + 1)
    lds = [1] * n
    for i in range(n-2, -1, -1):
        for j in range(i+1, n):
            if arr[j] < arr[i]:
                lds[i] = max(lds[i], lds[j] + 1)
    best = max(lis[i] + lds[i] - 1 for i in range(n))
    print(n - best)

示例

输入
solve(8, '186,186,150,200,160,130,197,200')
期望输出
4
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码