日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode 712. 两个字符串的最小ASCII删除和(DP,类似编辑距离)

發布時間:2024/7/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 712. 两个字符串的最小ASCII删除和(DP,类似编辑距离) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 題目

給定兩個字符串s1, s2,找到使兩個字符串相等所需刪除字符的ASCII值的最小和

示例 1: 輸入: s1 = "sea", s2 = "eat" 輸出: 231 解釋:"sea" 中刪除 "s" 并將 "s" 的值(115)加入總和。 在 "eat" 中刪除 "t" 并將 116 加入總和。 結束時,兩個字符串相等,115 + 116 = 231 就是符合條件的最小和。示例 2: 輸入: s1 = "delete", s2 = "leet" 輸出: 403 解釋:"delete" 中刪除 "dee" 字符串變成 "let", 將 100[d]+101[e]+101[e] 加入總和。在 "leet" 中刪除 "e"101[e] 加入總和。 結束時,兩個字符串都等于 "let",結果即為 100+101+101+101 = 403 。 如果改為將兩個字符串轉換為 "lee""eet",我們會得到 433417 的結果,比答案更大。注意: 0 < s1.length, s2.length <= 1000。 所有字符串中的字符ASCII值在[97, 122]之間。

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/minimum-ascii-delete-sum-for-two-strings
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

2. 解題

類似題目:
LeetCode 72. 編輯距離(DP)
LeetCode 583. 兩個字符串的刪除操作(動態規劃)

class Solution { public:int minimumDeleteSum(string s1, string s2) {int i, j, n1 = s1.size(), n2 = s2.size();vector<vector<int>> dp(n1+1,vector<int>(n2+1,0)); for(i = 0; i < n2; i++) dp[0][i+1] = dp[0][i] + int(s2[i]);for(i = 0; i < n1; i++) dp[i+1][0] = dp[i][0] + int(s1[i]);for(i = 1; i <= n1; i++){for(j = 1; j <= n2; j++){if(s1[i-1] == s2[j-1])//第i個字符與第j個字符相等dp[i][j] = dp[i-1][j-1];else//第i個字符與第j個字符 不相等{dp[i][j] = min(dp[i][j-1]+int(s2[j-1]),min(dp[i-1][j]+int(s1[i-1]), dp[i-1][j-1]+int(s1[i-1]+s2[j-1])));// 刪除 s2[j-1] 或者刪除 s1[i-1] 或者都刪除 }}}return dp[n1][n2];} };

100 ms 15.3 MB

總結

以上是生活随笔為你收集整理的LeetCode 712. 两个字符串的最小ASCII删除和(DP,类似编辑距离)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。