第九章 动态规划part13

300. 最长递增子序列

python 复制代码
class Solution:
    def lengthOfLIS(self, nums: List[int]) -> int:
        n = len(nums)
        dp = [1] * n
        for i in range(n):
            for j in range(i):
                if nums[j] < nums[i]:
                    dp[i] = max(dp[j]+1,dp[i])
        return max(dp)

674. 最长连续递增序列

python 复制代码
class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        n = len(nums)
        dp = [1] * n
        for i in range(1,n):
            if nums[i] > nums[i-1]:
                dp[i] = max(dp[i-1]+1,dp[i])
        return max(dp)

718. 最长重复子数组

python 复制代码
class Solution:
    def findLength(self, nums1: List[int], nums2: List[int]) -> int:
        n = len(nums1)
        m = len(nums2)
        result = 0
        dp = [[0]*(m+1) for _ in range(n+1)]
        for i in range(1,n+1):
            for j in range(1,m+1):
                if nums1[i-1] == nums2[j-1]:
                    dp[i][j] = dp[i-1][j-1] + 1
                if result < dp[i][j]:
                    result = dp[i][j]
        return result
相关推荐
信奥卷王42 分钟前
[GESP202503 五级] 原根判断
java·数据结构·算法
兮山与43 分钟前
算法4.0
算法
nju_spy44 分钟前
力扣每日一题(二)任务安排问题 + 区间变换问题 + 排列组合数学推式子
算法·leetcode·二分查找·贪心·排列组合·容斥原理·最大堆
初听于你1 小时前
高频面试题解析:算法到数据库全攻略
数据库·算法
翟天保Steven1 小时前
ITK-基于Mattes互信息的二维多模态配准算法
算法
代码对我眨眼睛1 小时前
226. 翻转二叉树 LeetCode 热题 HOT 100
算法·leetcode·职场和发展
黑色的山岗在沉睡2 小时前
LeetCode 494. 目标和
算法·leetcode·职场和发展
haoly19895 小时前
数据结构和算法篇-线性查找优化-移至开头策略
数据结构·算法·移至开头策略
学Linux的语莫8 小时前
机器学习数据处理
java·算法·机器学习
earthzhang20219 小时前
【1007】计算(a+b)×c的值
c语言·开发语言·数据结构·算法·青少年编程