中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

建設(shè)部網(wǎng)站八大員查詢app推廣平臺(tái)排行榜

建設(shè)部網(wǎng)站八大員查詢,app推廣平臺(tái)排行榜,自動(dòng)建站源碼,寶安網(wǎng)站建設(shè)xbceo1143. 最長(zhǎng)公共子序列 給定兩個(gè)字符串 text1 和 text2,返回這兩個(gè)字符串的最長(zhǎng) 公共子序列 的長(zhǎng)度。如果不存在 公共子序列 ,返回 0 。 一個(gè)字符串的 子序列 是指這樣一個(gè)新的字符串:它是由原字符串在不改變字符的相對(duì)順序的情況下刪除某些…

1143. 最長(zhǎng)公共子序列

給定兩個(gè)字符串 text1 和 text2,返回這兩個(gè)字符串的最長(zhǎng) 公共子序列 的長(zhǎng)度。如果不存在 公共子序列 ,返回 0 。

一個(gè)字符串的 子序列 是指這樣一個(gè)新的字符串:它是由原字符串在不改變字符的相對(duì)順序的情況下刪除某些字符(也可以不刪除任何字符)后組成的新字符串。

  • 例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。

兩個(gè)字符串的 公共子序列 是這兩個(gè)字符串所共同擁有的子序列。

示例 1:

輸入:text1 = “abcde”, text2 = “ace”
輸出:3
解釋:最長(zhǎng)公共子序列是 “ace” ,它的長(zhǎng)度為 3 。

示例 2:

輸入:text1 = “abc”, text2 = “abc”
輸出:3
解釋:最長(zhǎng)公共子序列是 “abc” ,它的長(zhǎng)度為 3 。

示例 3:

輸入:text1 = “abc”, text2 = “def”
輸出:0
解釋:兩個(gè)字符串沒有公共子序列,返回 0 。

提示:

  • 1 <= text1.length, text2.length <= 1000
  • text1 和 text2 僅由小寫英文字符組成。

思路:(動(dòng)態(tài)規(guī)劃)

對(duì)于兩個(gè)子序列 S1S1S1S2S2S2,找出它們最長(zhǎng)的公共子序列。

定義一個(gè)二維數(shù)組 dp 用來存儲(chǔ)最長(zhǎng)公共子序列的長(zhǎng)度,其中 dp[i][j] 表示 S1S1S1 的前 i 個(gè)字符與 S2S2S2 的前 j 個(gè)字符最長(zhǎng)公共子序列的長(zhǎng)度。考慮 S1iS1_iS1i?S2jS2_jS2j? 值是否相等,分為兩種情況:

  • 當(dāng) S1i==S2jS1_i == S2_jS1i?==S2j? 時(shí),那么就能在 S1S1S1 的前 i -1 個(gè)字符與 S2S2S2 的前 j -1 個(gè)字符最長(zhǎng)公共子序列的基礎(chǔ)上再加上 S1iS1_iS1i? 這個(gè)值,最長(zhǎng)公共子序列長(zhǎng)度加 1,即 dp[i][j] = dp[i-1][j-1] + 1。
  • 當(dāng) S1i!=S2jS1_i != S2_jS1i?!=S2j? 時(shí),此時(shí)最長(zhǎng)公共子序列為 S1S1S1的前 i -1 個(gè)字符和 S2 的前 j 個(gè)字符最長(zhǎng)公共子序列,或者 S1S1S1 的前 i 個(gè)字符和 S2S2S2 的前 j -1 個(gè)字符最長(zhǎng)公共子序列,取它們的最大者,即 dp[i][j] = max{ dp[i-1][j], dp[i][j-1] }。

綜上,最長(zhǎng)公共子序列的 狀態(tài)轉(zhuǎn)移方程 為:

dp[i][j]={dp[i?1][j?1]+1S1i==S2jmax?(dp[i?1][j],dp[i][j?1])S1i<>S2jd p[i][j]=\left\{\begin{array}{rr} d p[i-1][j-1]+1 & S 1_{i}==S 2_{j} \\ \max (d p[i-1][j], d p[i][j-1]) & S 1_{i}<>S 2_{j} \end{array}\right.dp[i][j]={dp[i?1][j?1]+1max(dp[i?1][j],dp[i][j?1])?S1i?==S2j?S1i?<>S2j??

對(duì)于長(zhǎng)度為 m 的序列 S1 和長(zhǎng)度為 n 的序列 S2,dp[m][n] 就是序列 S1 和序列 S2 的最長(zhǎng)公共子序列長(zhǎng)度。

最長(zhǎng)遞增子序列 相比,最長(zhǎng)公共子序列有以下不同點(diǎn):

  • 針對(duì)的是兩個(gè)序列,求它們的最長(zhǎng)公共子序列。
  • 在最長(zhǎng)遞增子序列中,dp[i] 表示以 SiS_iSi? 為結(jié)尾的最長(zhǎng)遞增子序列長(zhǎng)度,子序列必須包含 SiS_iSi? ;在最長(zhǎng)公共子序列中,dp[i][j] 表示 S1 中前 i 個(gè)字符與 S2 中前 j 個(gè)字符的最長(zhǎng)公共子序列長(zhǎng)度,不一定包含 S1iS1_iS1i?S2jS2_jS2j?。
  • 在求最終解時(shí),最長(zhǎng)公共子序列中 dp[m][n] 就是最終解,而最長(zhǎng)遞增子序列中 dp[n] 不是最終解,因?yàn)橐?SnS_nSn? 為結(jié)尾的最長(zhǎng)遞增子序列不一定是整個(gè)序列最長(zhǎng)遞增子序列,需要遍歷一遍 dp 數(shù)組找到最大者。

代碼:(Java)

public class LongestCommonSubsequence {public static void main(String[] args) {// TODO Auto-generated method stubString text1 = "abcde";String text2 = "ace";System.out.println(longestCommonSubsequence(text1,text2));}public static int longestCommonSubsequence(String text1, String text2) {int m = text1.length();int n = text2.length();int[][] dp = new int[m + 1][n + 1];for(int i = 1; i <= m; i++) {for(int j = 1; j <= n; j++) {if(text1.charAt(i - 1) == text2.charAt(j - 1)) {dp[i][j] = dp[i - 1][j - 1] + 1;}else {dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);}}}return dp[m][n];}
}

運(yùn)行結(jié)果:

在這里插入圖片描述

復(fù)雜度分析:

  • 時(shí)間復(fù)雜度O(mn)O(mn)O(mn),需要遍歷兩個(gè)字符串。
  • 空間復(fù)雜度O(mn)O(mn)O(mn),需要m*n的二維數(shù)組。

注:僅供學(xué)習(xí)參考!

題目來源:力扣。

http://www.risenshineclean.com/news/11510.html

相關(guān)文章:

  • nodejs做網(wǎng)站容易被攻擊嗎網(wǎng)站外部?jī)?yōu)化的4大重點(diǎn)
  • 網(wǎng)站模板開發(fā)主要作用免費(fèi)b站推廣網(wǎng)址有哪些
  • 六十歲一級(jí)a做爰片免費(fèi)網(wǎng)站如何推廣網(wǎng)址鏈接
  • 做電影網(wǎng)站的成本拉新任務(wù)接單放單平臺(tái)
  • 網(wǎng)站設(shè)計(jì)做哪些的青島網(wǎng)站seo服務(wù)
  • 注冊(cè)一個(gè)公司需要多久如何網(wǎng)站seo
  • 網(wǎng)站運(yùn)營(yíng)與管理的內(nèi)容包括網(wǎng)絡(luò)營(yíng)銷渠道建設(shè)方案
  • 網(wǎng)站怎么創(chuàng)建如何做宣傳推廣營(yíng)銷
  • WordPress網(wǎng)站被惡意登錄互聯(lián)網(wǎng)搜索引擎有哪些
  • 杭州營(yíng)銷型網(wǎng)站seo作弊
  • 如何自己制作公司網(wǎng)站一鍵seo提交收錄
  • 廣州花都網(wǎng)站開發(fā)百度網(wǎng)站收錄入口
  • 廣東省公路建設(shè)有限公司網(wǎng)站長(zhǎng)春網(wǎng)絡(luò)優(yōu)化最好的公司
  • 網(wǎng)站一般用什么做的媒體營(yíng)銷平臺(tái)
  • 網(wǎng)站優(yōu)化推廣排名seo的關(guān)鍵詞無需
  • 成都市武侯區(qū)建設(shè)局門戶網(wǎng)站自己的品牌怎么做加盟推廣
  • 專門做招商的網(wǎng)站是什么營(yíng)銷策劃思路
  • php裝修公司網(wǎng)站源碼哪個(gè)搜索引擎能搜敏感內(nèi)容
  • 校園二手交易網(wǎng)站開發(fā)背景百度推廣有用嗎
  • 網(wǎng)站項(xiàng)目開發(fā)案seo技術(shù)快速網(wǎng)站排名
  • 支付寶 收費(fèi) 網(wǎng)站開發(fā)東莞seo
  • 做網(wǎng)站推廣的好處seo外包靠譜
  • 好品質(zhì)高端網(wǎng)站設(shè)計(jì)廣州百度快速優(yōu)化排名
  • 化妝品網(wǎng)站欄目設(shè)計(jì)推廣策劃方案怎么寫
  • 做網(wǎng)站人網(wǎng)頁(yè)設(shè)計(jì)制作網(wǎng)站素材
  • 注冊(cè)登錄汕頭搜索引擎優(yōu)化服務(wù)
  • 找人做彩票網(wǎng)站多少錢seo推廣論壇
  • 騰網(wǎng)站建設(shè)谷歌google下載安卓版 app
  • 中國(guó)網(wǎng)站的特點(diǎn)seo數(shù)據(jù)統(tǒng)計(jì)分析工具有哪些
  • 免費(fèi)軟件下載網(wǎng)站app南京百度網(wǎng)站推廣