刷leetcode hot100--动态规划3.11

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

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

dp[n]以nums[n]结尾的最长严格递增子序列对应的长度

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

3.递推公式:dp[i] = max(dp[j]+1) 当nums[j]<nums[i](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]

        
    }
};

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

相关推荐
leke200324 分钟前
2025年10月17日
算法
CoovallyAIHub26 分钟前
Mamba-3震撼登场!Transformer最强挑战者再进化,已进入ICLR 2026盲审
深度学习·算法·计算机视觉
Aqua Cheng.30 分钟前
代码随想录第七天|哈希表part02--454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
java·数据结构·算法·散列表
怀揣小梦想31 分钟前
跟着Carl学算法--哈希表
数据结构·c++·笔记·算法·哈希算法·散列表
Nebula_g32 分钟前
Java哈希表入门详解(Hash)
java·开发语言·学习·算法·哈希算法·初学者
Kent_J_Truman32 分钟前
【模拟散列表】
数据结构·算法·蓝桥杯·散列表·常识类
Lchiyu36 分钟前
哈希表 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
算法
玩镜的码农小师兄38 分钟前
[从零开始面试算法] (04/100) LeetCode 136. 只出现一次的数字:哈希表与位运算的巅峰对决
c++·算法·leetcode·面试·位运算·hot100
RTC老炮1 小时前
webrtc弱网-AcknowledgedBitrateEstimatorInterface类源码分析与算法原理
网络·算法·webrtc
Antonio9152 小时前
【图像处理】常见图像插值算法与应用
图像处理·算法·计算机视觉