前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >动态规划两个数组dp问题系列一>最长重复子数组

动态规划两个数组dp问题系列一>最长重复子数组

作者头像
用户11305962
发布于 2025-02-17 10:40:40
发布于 2025-02-17 10:40:40
4500
代码可运行
举报
文章被收录于专栏:学习学习
运行总次数:0
代码可运行

状态表示:

这里是引用
这里是引用

状态转移方程:

这里是引用
这里是引用

初始化:

这里是引用
这里是引用

填表顺序:

这里是引用
这里是引用

返回值:

这里是以某一个位置为结尾定义的状态表示,返回dp表里的最大值即可

代码呈现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
    public int findLength(int[] nums1, int[] nums2) {
        int m = nums1.length, n = nums2.length;
        int[][] dp = new int[m+1][n+1];
        int ret = 0;
        
        for(int i = 1; i <= m; i++)
            for(int j = 1; j <= n; j++){
                if(nums1[i-1] == nums2[j-1])
                    dp[i][j] = dp[i-1][j-1]+1;

                ret = Math.max(ret,dp[i][j]);    
            }
            
        return ret;    
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
动态规划两个数组dp问题系列一>不相交的线
用户11305962
2025/02/02
510
动态规划两个数组dp问题系列一>不相交的线
DP:两个数组的dp问题
2、如果我们的dp多开了一行一列,可以在字符串的前面多加上一个空格(s=“ ”+s),这样可以保证dp数组和字符串数组的下标映射关系是一一对应的,方便我们书写代码
小陈在拼命
2024/06/14
800
DP:两个数组的dp问题
动态规划两个数组的dp问题系列一>两个字符串的最小ASCII 删除和
用户11305962
2025/02/15
1210
动态规划两个数组的dp问题系列一>两个字符串的最小ASCII 删除和
动态规划两个数组dp问题系列一>通配符匹配
用户11305962
2025/02/09
590
动态规划两个数组dp问题系列一>通配符匹配
动态规划两个数组dp问题系列一>不同的子序列
用户11305962
2025/02/05
810
动态规划两个数组dp问题系列一>不同的子序列
【算法专题】动态规划综合篇
题目:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。
YoungMLet
2024/03/01
1340
【算法专题】动态规划综合篇
算法训练之动态规划(三)
我们可以看到第一行就是它本身的值,而第一行是受到我们增加的那一行影响的,所以我们增加的那一行应该全部初始化为0,才不会出错~接下来看后面的两行,都是在取上一行三个位置的最小值加上当前位置值得到的,那么旁边的两列如果也初始化为0的话,那么边界找到的最小值就是0了,这并不是数组里面的有效数据~所以为了避免影响,我们也就可以把两列位置设置成INT_MAX,题目给出数据大小范围,显然dp[i][j]是不会超过INT_MAX的,那么我们就可以这样进行初始化~ 第一行初始化为0,剩下的位置初始化为INT_MAX
用户11352420
2025/04/11
710
算法训练之动态规划(三)
LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。 比方说,[2,3,5] 是 [1,2,3,4,5] 的一个子序列而 [1,5,3] 不是。
Michael阿明
2020/07/13
5480
LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
动态规划两个数组dp问题系列一>交错字符串
用户11305962
2025/02/14
400
动态规划两个数组dp问题系列一>交错字符串
【算法】动态规划:回文子串问题、两个数组的dp
定义 dp[i][j] 表示 [i, j] 区间内的字符串是否是回文子串,i <= j,要特别注意填表顺序。
_小羊_
2025/03/27
1200
【算法】动态规划:回文子串问题、两个数组的dp
动态规划 —— 子数组系列-乘积为正数的最长子数组长度
https://leetcode.cn/problems/maximum-length-of-subarray-with-positive-product/description/
迷迭所归处
2024/11/19
760
动态规划 —— 子数组系列-乘积为正数的最长子数组长度
动态规划 —— 子数组系列-最大子数组和
https://leetcode.cn/problems/maximum-subarray/description/
迷迭所归处
2024/11/19
2430
动态规划 —— 子数组系列-最大子数组和
动态规划 —— 子数组系列-乘积最大子数组
https://leetcode.cn/problems/maximum-product-subarray/description/
迷迭所归处
2024/11/19
1160
动态规划 —— 子数组系列-乘积最大子数组
【动态规划】忽遇狂风起,闲心不自由. - 子数组问题
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
用户11369350
2024/12/31
910
【动态规划】忽遇狂风起,闲心不自由. - 子数组问题
【动态规划】【路径问题】下降路经最小和、最小路径和、地下城游戏
如果 d[i][j] 太大,就是说在那一格有个很大的血包。减完之后就变成一个负值了(你是一个负血的状态,通过这个格子之后也能顺利通过),这是不符合逻辑的。
椰椰椰耶
2024/10/21
1400
【动态规划】【路径问题】下降路经最小和、最小路径和、地下城游戏
Leetcode 718. Maximum Length of Repeated Subarray
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书
Tyan
2021/07/08
4070
【算法/训练】:动态规划DP
动态规划(Dynamic Programming,DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学等领域中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题
IsLand1314
2024/10/15
4440
【算法/训练】:动态规划DP
【动态规划】【路径问题】不同路径和礼物的最大价值
椰椰椰耶
2024/10/21
1440
【动态规划】【路径问题】不同路径和礼物的最大价值
动态规划 —— 子数组系列-环形子数组的最大和
https://leetcode.cn/problems/maximum-sum-circular-subarray/description/
迷迭所归处
2024/11/19
1230
动态规划 —— 子数组系列-环形子数组的最大和
动态规划 —— dp 问题-买卖股票的最佳时机III
https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii/description/
迷迭所归处
2024/11/19
1140
动态规划 —— dp 问题-买卖股票的最佳时机III
推荐阅读
相关推荐
动态规划两个数组dp问题系列一>不相交的线
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档