最長重複子陣列(LeetCode)

2021-10-10 06:14:11 字數 584 閱讀 7678

題目鏈結

給兩個整數陣列 a 和 b ,返回兩個陣列中公共的、長度最長的子陣列的長度。

示例:輸入:

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

和最長公共子串問題相似,可以使用動態規劃,設兩個陣列長度分別為len1、len2,可以用乙個大小為len1*len2的二維矩陣來記錄當前公共子串長度,當兩個字元相同時就將arr[i][j]設為左上角的a[i-1][j-1]+1;如果已經在最左上角,那就設為1。

最終,矩陣中最大的值即答案。

**如下:

時間複雜度:o(mn)

空間複雜度:o(mn)

class

solution

return ans;}}

;

LeetCode記錄 最長重複子陣列

2020年7月6日09 11 01 難度 中等 用時 4個小時了吧,大霧 分類 動態規劃 雜湊 二分查詢 滑動視窗 題目 給兩個整數陣列 a 和 b 返回兩個陣列中公共的 長度最長的子陣列的長度。示例 輸入 a 1,2,3,2,1 b 3,2,1,4,7 輸出 3 解釋 長度最長的公共子陣列是 3,...

leetcode 718 最長重複子陣列

給兩個整數陣列a和b,返回兩個陣列中公共的 長度最長的子陣列的長度。輸入 a 1,2,3,2,1 b 3,2,1,4,7 輸出 3解釋 長度最長的公共子陣列是 3,2,1 動態規劃 dp i j a 0,i 和b 0,j 的最長重複子陣列 狀態轉移方程 python class solution d...

LeetCode 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 lci問題,沒什麼好說的就是寫就完事了...