当前位置: 首页 > news >正文

Leetcode 刷题笔记1 动态规划part10

Leetcode 300 最长递增子序列

递推公式:dp[i] = max(dp[i], dp[j] + 1)

class Solution:
    def lengthOfLIS(self, nums: List[int]) -> int:
        if len(nums) == 1:
            return 1
        dp = [1] * len(nums)
        result = 1
        for i in range(1, len(nums)):
            for j in range(i):
                if nums[i] > nums[j]:
                    dp[i] = max(dp[i], dp[j] + 1)
        return max(dp)

leetcode 674 最长连续递增序列

class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        if len(nums) <= 1:
            return len(nums)
        dp = [1] * len(nums)
        result = 1
        for i in range(1, len(nums)):
            if nums[i] > nums[i - 1]:
                dp[i] = dp[i - 1] + 1
        return max(dp) 

leetcode 300 最长递增子序列

class Solution:
    def findLength(self, nums1: List[int], nums2: List[int]) -> int:
        dp = [[0] * (len(nums2) + 1) for _ in range(len(nums1) + 1)]
        result = 0
        for i in range(1, len(nums1) + 1):
            for j in range(1, len(nums2) + 1):
                if nums1[i - 1] == nums2[j - 1]:
                    dp[i][j] = dp[i - 1][j - 1] + 1
                result = max(dp[i][j],result)
        return result

相关文章:

  • app.config.globalProperties
  • 机器学习算法——聚类任务
  • Flink 中RocksDB 为什么将每个键和值的限制为 2^31 字节
  • DeepSeek-prompt指令-当DeepSeek答非所问,应该如何准确的表达我们的诉求?
  • Pytorch实现之BCGAN实现双生成器架构的人脸面部生成
  • 从零开始用AI开发游戏(二)代码实现
  • SolarWinds Web Help Desk漏洞曝光:攻击者可访问存储密码
  • 动态IP vs 静态IP:终极对比一览表
  • 使用LiteFlow实现阻塞审批工作流
  • 前端面试:React hooks 调用是可以写在 if 语句里面吗?
  • JavaScript性能优化实战指南
  • 软件工程概述、软件过程模型、逆向工程(高软45)
  • HTML5拼图游戏开发经验分享
  • Pycharm(五)序列的操作
  • 网络VLAN技术详解:原理、类型与实战配置
  • Elasticsearch Java High Level Client [7.17] 使用
  • K8S学习之基础二十八:k8s中的configMap
  • Interview preparation.md
  • RabbitMQ从入门到实战-知识详情总结
  • 2024下半年真题 系统架构设计师 论文写作 答案解析
  • 一旅客因上错车阻挡车门关闭 ,株洲西高铁站发布通报
  • 国家卫生健康委通报关于肖某引发舆情事件调查处置进展情况
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 微软将裁员3%,减少管理层
  • 习近平同巴西总统卢拉共同会见记者
  • 马上评丨岂能为流量拿自己的生命开玩笑