LeetCode 1035. 不相交的线(最长公共子序列DP)
文章目錄
- 1. 題目
- 2. 解題
1. 題目
我們?cè)趦蓷l獨(dú)立的水平線(xiàn)上按給定的順序?qū)懴?A 和 B 中的整數(shù)。
現(xiàn)在,我們可以繪制一些連接兩個(gè)數(shù)字 A[i] 和 B[j] 的直線(xiàn),只要 A[i] == B[j],且我們繪制的直線(xiàn)不與任何其他連線(xiàn)(非水平線(xiàn))相交。
以這種方法繪制線(xiàn)條,并返回我們可以繪制的最大連線(xiàn)數(shù)。
示例 1:
來(lái)源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/uncrossed-lines
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
一樣的本質(zhì):LeetCode 1143. 最長(zhǎng)公共子序列(動(dòng)態(tài)規(guī)劃)
class Solution { public:int maxUncrossedLines(vector<int>& A, vector<int>& B) {int n1 = A.size(), n2 = B.size(), i, j;vector<vector<int>> dp(n1+1,vector<int>(n2+1, 0));for(i = 1; i <= n1; i++){for(j = 1; j <= n2; j++){if(A[i-1] == B[j-1])dp[i][j] = dp[i-1][j-1]+1;elsedp[i][j] = max(dp[i-1][j], dp[i][j-1]);}}return dp[n1][n2];} };20 ms 13 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1035. 不相交的线(最长公共子序列DP)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode MySQL 571.
- 下一篇: LeetCode 968. 监控二叉树(