Java实现 LeetCode 718 最长重复子数组(动态规划)
718. 最长重复子数组
给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。
示例 1:
输入:
A: [1,2,3,2,1]
B: [3,2,1,4,7]
输出: 3
解释:
长度最长的公共子数组是 [3, 2, 1]。
说明:
1 <= len(A), len(B) <= 1000
0 <= A[i], B[i] < 100
class Solution {public int findLength(int[] A, int[] B) {int[] dp = new int[B.length];int max = 0;for(int j = 0; j < B.length; j++) {if(A[0] == B[j]) {dp[j] = 1;max = 1;}}for(int i = 1; i < A.length; i++) {for(int j = B.length - 1; j > 0; j--) {if(A[i] == B[j]) {dp[j] = dp[j - 1] + 1;if(dp[j] > max) {max = dp[j];}} else {dp[j] = 0;}}dp[0] = (A[i] == B[0]) ? 1 : 0;}return max; }// public int findLength(int[] A, int[] B) {// if (A == null || B == null) {// return 0;// }// int res = 0;// int[][] dp = new int[A.length + 1][B.length + 1];// for (int i = 1; i < dp.length; i++) {// for (int j = 1; j < dp[i].length; j++) {// dp[i][j] = A[i - 1] == B[j - 1] ? dp[i - 1][j - 1] + 1 : 0;// res = Math.max(res, dp[i][j]);// }// }// return res;// }}
Java实现 LeetCode 718 最长重复子数组(动态规划)相关推荐
- LeetCode·718.最长重复子数组·动态规划
链接:https://leetcode.cn/problems/maximum-length-of-repeated-subarray/solution/-by-xun-ge-v-5he0/ 来源:力 ...
- 115. Leetcode 718. 最长重复子数组 (动态规划-子序列问题)
步骤一.确定状态: 确定dp数组及下标含义 dp[i][j]表示的是长度为i的A数组和长度为j的B数组公共的长度最长的子数组的长 度. 步骤二.推断状态方程: 考虑下dp[i][j], 因为这里的子数 ...
- LeetCode 718最长重复子数组
题目链接:力扣 子序列默认不连续,子数组默认连续 思路: 动态规划: 定义dp数组: dp ...
- LeetCode 718. 最长重复子数组(DP)
1. 题目 给两个整数数组 A 和 B ,返回两个数组中公共的.长度最长的子数组的长度. 示例 1: 输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释: 长度最长的 ...
- 每日题解:LeetCode 718. 最长重复子数组
题目地址 个人博客地址 题目描述 给两个整数数组 A 和 B ,返回两个数组中公共的.长度最长的子数组的长度. 示例:输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出:3 解释 ...
- leetcode 718. 最长重复子数组
难度:中等 频次:53 题目:给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 .长度最长的子数组的长度 . 解题思路:动态规划 注意: 为什么使用动态规划?---->求最 ...
- LeetCode 718 最长重复子数组
给两个整数数组 A 和 B ,返回两个数组中公共的.长度最长的子数组的长度. A: [1,2,3,2,1] B: [3,2,1,4,7] 数组+长度,这种问题看来很多都可以采用二分搜索算法,因为长度有 ...
- 2022-2-1 leetcode.718.最长重复子数组
别人的做法 int findLength(vector<int>& A, vector<int>& B) {int len1 = A.size(), len2 ...
- leetcode(力扣) 718. 最长重复子数组 1143. 最长公共子序列 1035. 不相交的线 (动态规划)
文章目录 718. 最长重复子数组 题目描述 思路分析 完整代码 1143. 最长公共子序列 1035. 不相交的线: 这三道题思路基本一样,尤其是最后两道,代码都一样,一点不需要改的,所以放一起把. ...
最新文章
- centos7 升级 gdb
- localtime与localtime_r
- 一个学习的好去处!!
- android 弹出框带标题栏,Android开发靠标题栏的弹框
- 为《31天成为IT服务达人》征求正式名字
- spring分布式事务学习笔记(2)
- mysql 免安装版迁移_mysql免安装版 安装配置 (转)
- mydate97设置时间
- leetcode 877 stone game
- Atitit 圣爱提拉克斯在会议上 2019年10月中旬的一天,有过这样的事。 这天,地方上风大。出乎人们意料之外,到东海岸一个地方访问的亲爱的领导者圣爱提拉克斯要同人们一道开会。主持人着了慌,
- everedit 格式化json_Mac Init
- 解决Tomcat 乱码问题简洁版
- 嵌入式Linux驱动开发整体框架
- 安卓逆向助手反编译apk后文件夹为空
- 电阻分压计算,电阻选型
- 工具分享: 一键保存网页为PDF文件
- (超详细)搜索软件Everything的安装与使用
- android+国家区号api,android国际区号选择器
- Unity插件 - MeshEditor(五) 网格顶点动画(变形动画)
- Java 中Calendar的使用