初级
综合练习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
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199