最长递增子序列

题目链接:

300. 最长递增子序列 - 力扣(LeetCode)

思路:

  1. 需要尤为注意的一点是 题目 所说的递增子序列,指的是 可以不连续的 子序列

  2. 我们采用 dp 算法,当前位置 dp[i] 的最优值(最大值),需要是遍历,i 位置前面的 其他元素,看是否 nums[i] 大于 nums[j] ,并拿到 j 位置的 最优值 dp[j] +1 作为 dp[i] 的值,这个值需要遍历前面的所有位置的最优解,不断迭代,拿到当前位置的最优解

代码:

javascript 复制代码
/**
 * @param {number[]} nums
 * @return {number}
 */
var lengthOfLIS = function (nums) {
    if (!nums.length) return 0
    if (nums.length <= 1) return 1;
    let res = 1, dp = new Array(nums.length + 10).fill(1);
    for (let i = 1; i < nums.length; i++) {
        for (let j = i - 1; j >= 0; j--) {
            if (nums[i] > nums[j]) {
                dp[i] = Math.max(dp[j] + 1, dp[i])
            }
        }
        res = Math.max(res, dp[i])
    }

    return res
};
相关推荐
刘发财17 分钟前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
牛奶3 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶3 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
地平线开发者5 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮5 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
Kagol5 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
地平线开发者5 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考6 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
GIS之路6 小时前
ArcGIS Pro 中的 notebook 初识
前端
JavaGuide7 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端