美文网首页
DP--最长上升子序列(线性-单串)

DP--最长上升子序列(线性-单串)

作者: 习惯水文的前端苏 | 来源:发表于2022-02-11 13:12 被阅读0次

    \bullet 目录

    \bullet 题号

    \bullet 思路

        状态定义:dp[i]表示在数组nums中以第i位置为结尾的最长上升子序列

        转移方程:

            在计算dp[i]之前,我们通过计算,已知dp[0]......dp[i-1]的值

            由于dp[i-1]代表以i-1结尾的最长上升序列

            则,当nums[i]>nums[i-1]时,有几率形成更长的上升序列

            只需要将当前nums[i]分别并入dep[0......i-1]中,看是否能形成更优序列即可

            即当前i依赖比i小的O(n)个子问题

            故,转移方程为:dp[i] = max(dp[0......i-1])+1

        初始状态:

            由于至少存在一个元素使得dp[i]满足子序列,故初始为1

        边界:

            nums[i]>nums[i-1]

    \bullet 实现

    (外层循环确定范围,内层循环做子问题最优解合并)

    相关文章

      网友评论

          本文标题:DP--最长上升子序列(线性-单串)

          本文链接:https://www.haomeiwen.com/subject/rshfkrtx.html