刷leetcode hot100--动态规划3.11

第一题:最长递增子序列10:53

1.dp数组及下标含义:dpn:nums0...n的最长严格递增子序列长度【无法进行后续比较】

dpn以numsn结尾的最长严格递增子序列对应的长度

2.初始化:注意!!这里应该初始化为1,因为每一个字符单独拎出来这个子序列长度就是1!!!

3.递推公式:dpi = max(dpj+1) 当numsj<numsi(i>j)

4.遍历5.打印数组

注意:: 实际操作时,case:0输出了0,因为maxNum没进循环,所以还是0--->最好对特殊情况if--return提前处理

复制代码
class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        //dp[n]nums[0...n]的最长严格递增子序列长度
        //dp[n]以nums[n]结尾的最长严格递增子序列长度
        //dp[n]=0,
        vector<int> dp(nums.size(),1);//初始化应该是1
        //dp[i] = max(dp[j]+1) 当nums[j]<nums[i]
        if(nums.size()==1){
            return 1;
        }//case:[0]  -->输出0,因为maxNum是0    
        int maxNum = 0;
        for(int i = 1;i<nums.size();i++){
            for(int j = 0;j<i;j++){
                 if(nums[j]<nums[i]){
                    dp[i] = max(dp[j]+1,dp[i]);
                 }
            }
            maxNum = max(maxNum,dp[i]);
        }
        return maxNum;//不应该return dp[nums.size()-1]

        
    }
};

第二题:乘积最大子数组【没思路。。。】

相关推荐
To_OC8 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
2401_841495649 小时前
【操作系统】进程同步与互斥实验报告
c++·算法·操作系统·进程·并发·同步·互斥
爱刷碗的苏泓舒13 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
烬羽15 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法
闪电悠米16 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
REST_302716 小时前
告别Excel孤岛:一款任务链路可视化工具带来的真实改变
大数据·微服务·云计算·编辑器·excel·动态规划
星空露珠16 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
QXWZ_IA18 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel18 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构