LeetCode热题100-最长递增子序列

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。

子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。

思路

  • dp[i]:以 nums[i] 结尾的最长递增子序列长度
  • 对每个 i,遍历前面所有 j:如果 nums[j] < nums[i],则 dp[i] = max(dp[i], dp[j]+1)
  • 时间复杂度On2
python 复制代码
class Solution:
    def lengthOfLIS(self, nums: List[int]) -> int:
        if not nums:
            return 0
        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[i], dp[j] + 1)
        return max(dp)
相关推荐
高亦真10 小时前
今天是学习嵌入式的第39天
linux·学习·算法
Omics Pro10 小时前
AI药物研发10原则!欧盟EMA×美国FDA
数据库·人工智能·算法·机器学习·自然语言处理
wabs66610 小时前
关于二叉树【力扣100.相同的树的思考】
数据结构·c++·算法·leetcode·二叉树·递归法
知知之之10 小时前
敏感数据查询:SHA-256 还是 HMAC-SHA256
算法
彧azz11 小时前
Java学习记录:判断语句
java·笔记·学习·算法
alphaTao11 小时前
LeetCode 每日一题 2026/9/14-2026/9/20
算法·leetcode
hanlin0311 小时前
刷题笔记:力扣第560题-和为k的子数组
笔记·算法·leetcode
residual_fan11 小时前
航空发动机故障诊断专用智能体(四):深度强化学习与自适应奖励机制
人工智能·算法·数据挖掘·数据分析
2601_9622186111 小时前
万象生鲜系统多终端统一数据协议PC手机PDA数据实时同步
大数据·数据库·人工智能·python·算法
AgentMaster11 小时前
企业元数据管理技术实战:从采集架构到血缘解析的完整方案
大数据·人工智能·算法