给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度 。
示例 1:
输入:nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7] 输出:3 解释:长度最长的公共子数组是 [3,2,1] 。
示例 2:
输入:nums1 = [0,0,0,0,0], nums2 = [0,0,0,0,0] 输出:5
2 解析(1)暴力求解 时间复杂度O(n^3)
(2)动态规划 状态:重复子数组的长度 状态转移:从后往前遍历,如果元素相同,则dp等于前一个相同元素的dp加1。 d p [ i ] [ j ] = d p [ i + 1 ] [ j + 1 ] + 1 dp[i][j] = dp[i+1][j+1]+1 dp[i][j]=dp[i+1][j+1]+1
3 Python(1)方法一:有的例子会超时
class Solution:
def findLength(self, nums1: List[int], nums2: List[int]) -> int:
ans = 0
for i in range(len(nums1)):
for j in range(len(nums2)):
k = 0
while (i+k)
关注
打赏
- 【文献汇总】2019-2021最新应用深度学习到OFDM通信系统中的论文汇总(实时更新)
- 【金融量化】电话口试-智力题
- 【数据挖掘】2022年2023届秋招爱玩特智能量化研究员岗 笔试题
- 【Leetcode刷题Python】1467. 两个盒子中球的颜色数相同的概率
- 【Leetcode刷题Python】50. Pow(x, n)
- 【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
- 【Leetcode刷题Python】73. 矩阵置零
- 【Leetcode刷题Python】LeetCode 478. 在圆内随机生成点
- 【Leetcode刷题Python】 LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色
- 【数据挖掘】2022年2023届秋招Kanaries雾角科技算法岗 笔试题