首页 > 编程语言 >代码随想录算法训练营 | 300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数组

代码随想录算法训练营 | 300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数组

时间:2024-10-16 21:09:58浏览次数:9  
标签:nums int res 递增 序列 最长 dp

300.最长递增子序列
题目链接:300.最长递增子序列
文档讲解︰代码随想录(programmercarl.com)
视频讲解︰最长递增子序列
日期:2024-10-16

想法:dp[i]表示以nums[i]结尾的最长子数列长度,需要知道i之前的j的dp[j],找到最大的dp[j],再加1,初始化都为1。
Java代码如下:

class Solution {
    public int lengthOfLIS(int[] nums) {
        int[] dp = new int[nums.length];
        Arrays.fill(dp, 1);
        int res = 1;
        for(int i = 1; i < nums.length; i++) {
            for(int j = 0; j < i; j++) {
                if(nums[i] > nums[j]) dp[i] = Math.max(dp[i], dp[j] + 1);
            }
            if(dp[i] > res) res = dp[i];
        }
        return res;
    }
}

674. 最长连续递增序列
题目链接:674. 最长连续递增序列
文档讲解︰代码随想录(programmercarl.com)
视频讲解︰最长连续递增序列
日期:2024-10-16

想法:很简单
Java代码如下:

class Solution {
    public int findLengthOfLCIS(int[] nums) {
        int[] dp = new int[nums.length];
        Arrays.fill(dp, 1);
        int res = 1;
        for(int i = 1; i < nums.length; i++) {
            if(nums[i] > nums[i - 1]) dp[i] = dp[i - 1] + 1;
            res = Math.max(res, dp[i]);
        }
        return res;
    }
}

718. 最长重复子数组
题目链接:718. 最长重复子数组
文档讲解︰代码随想录(programmercarl.com)
视频讲解︰最长重复子数组
日期:2024-10-16

想法:dp[i][j]表示的以nums1[i - 1],nums[j - 1]结尾的的子数组的最长长度,注意-1是为了初始化方便。当nums1[i - 1] = nums2[j - 1]时,此时对应的是dp[i][j]值直接就是上一个位置两数组子数列最长长度+1,dp[i - 1][j - 1] + 1
Java代码如下:

class Solution {
    public int findLength(int[] nums1, int[] nums2) {
        int[][] dp = new int[nums1.length + 1][nums2.length + 1];
        int res = 0;
        for(int i = 1; i <= nums1.length; i++) {
            for(int j = 1; j <= nums2.length; j++) {
                if(nums1[i - 1] == nums2[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1;
                res = Math.max(res, dp[i][j]);
            }
        }
        return res;
    }
}

标签:nums,int,res,递增,序列,最长,dp
From: https://www.cnblogs.com/wowoioo/p/18470934

相关文章

  • 计量经济学(七)——时间序列GARCH模型
    金融市场中的波动性建模是金融计量经济学的重要研究内容。时间序列数据,尤其是金融市场数据,往往表现出强烈的波动聚集现象,这意味着波动率在某些时期较高,而在其他时期较低,波动性具有异方差性(heteroskedasticity)。为了有效描述这种现象,Engle(1982年)提出了ARCH(自回归条件异方差)模型,此......
  • 【bayes-Transformer多维时序预测】bayes-Transformer多变量时间序列预测,基于bayes-Tr
    %% 划分训练集和测试集P_train=res(1:num_train_s,1:f_)';T_train=res(1:num_train_s,f_+1:end)';P_test=res(num_train_s+1:end,1:f_)';T_test=res(num_train_s+1:end,f_+1:end)';%% 划分训练集和测试集M=size(P_train,2);N=siz......
  • Idea序列图插件-SequenceDiagram Core
    简介SequenceDiagramCore是一个IntelliJIDEA插件,它允许开发者直接在IDE中创建和编辑序列图(SequenceDiagrams)。序列图是UML(统一建模语言)中的一种图表类型,用于描述对象之间如何交互以及这些交互的顺序。这种类型的图表对于理解复杂的系统流程、设计模式或者组件之间......
  • 文件同步文件备份软件 Goodsync 序列号
    GoodSync是一种简单和可靠的文件备份和文件同步软件。它会自动分析、同步,并备份您的电子邮件、珍贵的家庭照片、联系人,、MP3歌曲,财务文件和其他重要文件本地-之间的台式机,笔记本电脑,服务器,外部驱动器,以及WindowsMobile设备,以及通过FTP远程,网友的WebDAV等等。该版本已内置序......
  • shiro反序列化简单利用-1
    https://www.bilibili.com/video/BV1iF411b7bD?t=16.0环境搭建gitclonehttps://github.com/apache/shiro.gitcdshirogitcheckoutshiro-root-1.2.4编辑shiro/samples/web目录下的pom.xml,将jstl的版本修改为1.2流程分析静态分析尝试登录并抓包username和Password都......
  • JSON 请求太大,无法反序列化
    方案一asp.netmvc默认的json序列化ValueProviderFactory使用的是javascriptserializer,可以在配置文件web.config中设置:<addkey="aspnet:MaxJsonDeserializerMembers"value="150000000"/>和<system.web.extensions><scripting><w......
  • 计量经济学(六)——时间序列滞后变量模型
    滞后变量模型(LaggedVariableModels)是一种时间序列分析方法,主要通过引入自变量和因变量的滞后项来解释当前变量的行为。该模型在经济学、金融学中广泛应用,尤其在预测和政策评估时。滞后变量反映了过去事件对当前变量的持续影响,揭示变量间的动态关系。它包括自回归模型、分布滞后......
  • 计量经济学(五)——时间序列分析之ARIMA模型预测
    时间序列分析(ARIMA)模型是一种广泛用于预测和分析随时间变化的数据模型。ARIMA模型由自回归(AutoRegressive,AR)、差分(Integrated,I)和移动平均(MovingAverage,MA)三部分构成。它通过对过去数据的自回归和移动平均来预测未来数据点,广泛应用于经济学、金融、气象学等领域中的时间序列预测......
  • leetcode 刷题day43动态规划Part12(115.不同的子序列、583. 两个字符串的删除操作、72.
    115.不同的子序列思路:这个题还是比较有难度的,问题s中有多少个t子序列可以转化为s字符串中有多少删除元素的方式,使s可以变成t。考虑动规五部曲。1、确定dp数组(dptable)以及下标的含义dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。2、确定递推公式......
  • leetcode 刷题day42动态规划Part11(1143.最长公共子序列、1035.不相交的线、53. 最大子
    1143.最长公共子序列思路:718.最长重复子数组两个数组对应相同且连续,所以递推公式是dp[i-1][j-1]+1。最长公共子序列不要求连续但要求相对顺序,差别主要在于递推公式。对于该题主要有两大情况:text1[i-1]与text2[j-1]相同,text1[i-1]与text2[j-1]不相同。如果te......