Day68力扣打卡

打卡记录

在这里插入图片描述


得到山形数组的最少删除次数(线性DP + 前后缀分解)

链接

class Solution:
    def minimumMountainRemovals(self, nums: List[int]) -> int:
        n = len(nums)
        pre, suf = [1] * n, [1] * n
        for i in range(n):
            for j in range(i):
                if nums[j] < nums[i]:
                    pre[i] = max(pre[i], pre[j] + 1)
                if nums[n - 1 - i] > nums[n - 1 - j]:
                    suf[n - 1 - i] = max(suf[n - 1 - i], suf[n - 1 - j] + 1)
        return min(n - (pre[i] + suf[i] - 1) for i in range(n) if pre[i] != 1 and suf[i] != 1)

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-24 01:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-24 01:54:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-24 01:54:02       82 阅读
  4. Python语言-面向对象

    2023-12-24 01:54:02       91 阅读

热门阅读

  1. CAD制图

    CAD制图

    2023-12-24 01:54:02      54 阅读
  2. 折半枚举(题目)

    2023-12-24 01:54:02       69 阅读
  3. Spring Boot的面试题和答案

    2023-12-24 01:54:02       46 阅读
  4. 【算法】【动规】最长斐波那契子序列的长度

    2023-12-24 01:54:02       72 阅读
  5. Go 官方发布了 Go 1.20.3 和 Go 1.19.8

    2023-12-24 01:54:02       52 阅读
  6. dpdk-ipsec-secgw 【dpdk20.11】

    2023-12-24 01:54:02       52 阅读
  7. 第四十一章 XML 映射参数摘要

    2023-12-24 01:54:02       57 阅读
  8. Kubernetes api-server源码阅读3(源码篇)

    2023-12-24 01:54:02       70 阅读
  9. Oracle 常用SQL

    2023-12-24 01:54:02       45 阅读
  10. 带电子词典的学生信息管理系统

    2023-12-24 01:54:02       55 阅读