最长递增子序列

题目链接:

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

思路:

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

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

代码:

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
};
相关推荐
weixin_382395238 小时前
为小工厂量身打造:本地部署的物料管理系统带缺料计算
前端·制造
__zRainy__8 小时前
解决pnpm v10+不自动构建
前端·pnpm·工程化
猫猫不是喵喵.9 小时前
Vue3 Props 属性
前端·javascript·vue.js
醉城夜风~10 小时前
CSS元素显示模式(display)
前端·css
luj_176810 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
AI大模型-小华11 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
木木子2212 小时前
# 鸿蒙 ArkTS 实战:秒表 Stopwatch(示例 5)
数据结构·华为·list·harmonyos
geats人山人海12 小时前
数据结构第六章c语言 树的存储下二叉树的概念和存储
c语言·数据结构·算法
做前端的娜娜子13 小时前
同一链接实现 PC Web 与移动 H5 自适应
前端·掘金·金石计划