leetcode72 編輯距離

給定兩個單詞?word1 和?word2,計算出將?word1?轉換成?word2 所使用的最少操作數?。

你可以對一個單詞進行如下三種操作:

插入一個字符
刪除一個字符
替換一個字符
示例?1:

輸入: word1 = "horse", word2 = "ros"
輸出: 3
解釋:?
horse -> rorse (將 'h' 替換為 'r')
rorse -> rose (刪除 'r')
rose -> ros (刪除 'e')
示例?2:

輸入: word1 = "intention", word2 = "execution"
輸出: 5
解釋:?
intention -> inention (刪除 't')
inention -> enention (將 'i' 替換為 'e')
enention -> exention (將 'n' 替換為 'x')
exention -> exection (將 'n' 替換為 'c')
exection -> execution (插入 'u')

思路:dp,三種情況都表示一下

拓展題:每種操作都有個代價,求最小代價,一個意思,加上代價即可。

class Solution {public int minDistance(String word1, String word2) {int n = word1.length();int m = word2.length();int i,j;if (n * m == 0)return n + m;int [][] d = new int[n + 1][m + 1];for (i = 0; i < n + 1; ++i) d[i][0] = i;for (j = 0; j < m + 1; ++j) d[0][j] = j;for (i = 1; i < n + 1; ++i) {for (j = 1; j < m + 1; ++j) {int left = d[i - 1][j] + 1;int down = d[i][j - 1] + 1;int left_down = d[i - 1][j - 1];if (word1.charAt(i - 1) != word2.charAt(j - 1))left_down += 1;d[i][j] = Math.min(left, Math.min(down, left_down));}}return d[n][m];}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444966.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444966.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444966.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

即時通訊系統架構

有過幾款IM系統開發經歷&#xff0c;目前有一款還在線上跑著。準備簡單地介紹一下大型商業應用的IM系統的架構。設計這種架構比較重要的一點是低耦合&#xff0c;把整個系統設計成多個相互分離的子系統。我把整個系統分成下面幾個部分&#xff1a;&#xff08;1&#xff09;狀態…

leetcode303 區域和檢索

給定一個整數數組 nums&#xff0c;求出數組從索引 i 到 j (i ≤ j) 范圍內元素的總和&#xff0c;包含 i, j 兩點。 示例&#xff1a; 給定 nums [-2, 0, 3, -5, 2, -1]&#xff0c;求和函數為 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0,…

算法(24)-股票買賣

股票買賣1.動態規劃框架LeetCode-121 一次買賣LeetCode-122 不限次數LeetCode-309 不限次數冷凍期LeetCode-714 不限次數手續費LeetCode-123 兩次買賣LeetCode-188 k次買賣2.貪心特解LeetCode-121 一次買賣LeetCode-122 不限次數解題思路參考buladong解題&#xff0c;詳細信息可…

網絡游戲的客戶端同步問題 .

有關位置同步的方案實際上已經比較成熟&#xff0c;網上也有比較多的資料可供參考。在《帶寬限制下的視覺實體屬性傳播》一文中&#xff0c;作者也簡單提到了位置同步方案的構造過程&#xff0c;但涉及到細節的地方沒有深入&#xff0c;這里專門針對這一主題做些回顧。 最直接的…

leetcode319 燈泡的開關

初始時有 n 個燈泡關閉。 第 1 輪&#xff0c;你打開所有的燈泡。 第 2 輪&#xff0c;每兩個燈泡你關閉一次。 第 3 輪&#xff0c;每三個燈泡切換一次開關&#xff08;如果關閉則開啟&#xff0c;如果開啟則關閉&#xff09;。第 i 輪&#xff0c;每 i 個燈泡切換一次開關。 …

網游服務器端設計思考:心跳設計

網絡游戲服務器的主要作用是模擬整個游戲世界&#xff0c;客戶端用過網絡連接把一些信息數據發給服務器&#xff0c;在操作合法的情況下&#xff0c;更新服務器上該客戶端對應的player實體、所在場景等&#xff0c;并把這些操作及其影響廣播出去。讓別的客戶端能顯示這些操作。…

算法(25)-括號

各種括號1.LeetCode-22 括號生成--各種括號排列組合2.LeetCode-20 有效括號(是否)--堆棧3.LeetCode-32 最長有效括號(長度)--dp4.LeetCode-301刪除無效括號 --多種刪除方式1.LeetCode-22 括號生成–各種括號排列組合 數字 n 代表生成括號的對數&#xff0c;請你設計一個函數&a…

(二十)深入淺出TCPIP之epoll的一些思考

Epoll基本介紹 在linux的網絡編程中,很長的時間都在使用select來做事件觸發。在linux新的內核中,有了一種替換它的機制,就是epoll。相比于 select,epoll最大的好處在于它不會隨著監聽fd數目的增長而降低效率。因為在內核中的select實現中,它是采用輪詢來處理的,輪詢的fd…

leetcode542 01矩陣

給定一個由 0 和 1 組成的矩陣&#xff0c;找出每個元素到最近的 0 的距離。 兩個相鄰元素間的距離為 1 。 示例 1: 輸入: 0 0 0 0 1 0 0 0 0 輸出: 0 0 0 0 1 0 0 0 0 示例 2: 輸入: 0 0 0 0 1 0 1 1 1 輸出: 0 0 0 0 1 0 1 2 1 注意: 給定矩陣的元素個數不超過 10000。…

RPC、RMI與MOM與組播 通信原理 .

遠程過程調用&#xff08;RPC&#xff09;&#xff1a; 即對遠程站點機上的過程進行調用。當站點機A上的一個進程調用另一個站點機上的過程時&#xff0c;A上的調用進程掛起&#xff0c;B上的被調用過程執行&#xff0c;并將結果返回給調用進程&#xff0c;使調用進程繼續執行【…

網關服務器 .

之前想著要把什么什么給寫一下&#xff0c;每次都太懶了&#xff0c;都是想起了才來寫一下。今天只討論游戲服務器的網關服務器。 1.轉發 轉發客戶端和服務器間的消息&#xff0c;網關將場景、會話、數據、名字、平臺等服務器的數據轉發給客戶端&#xff0c;接收客戶端的數據&a…

算法(26)-最長系列

最長系列1.LeetCode-32 最長有效括號--子串2.LeetCode-300 最長上升子序列--長度3.LeetCode-32 最長回文子串--是什么5.LeetCode-512 最長回文子序列--長度6.LeetCode-1143 最長公共子序列--長度6.LeetCode-128 最長連續序列--長度7.LeetCode-14 最長公共前綴-字符串8.劍指offe…

一個簡單的游戲服務器框架 .

最近一段時間不是很忙&#xff0c;就寫了一個自己的游戲服務器框架雛形&#xff0c;很多地方還不夠完善&#xff0c;但是基本上也算是能夠跑起來了。我先從上層結構說起&#xff0c;一直到實現細節吧&#xff0c;想起什么就寫什么。 第一部分 服務器邏輯 服務器這邊簡單的分為三…

游戲登陸流程 .

當公司有很多游戲的時候&#xff0c;那么公司往往會有一個統一的賬號管理平臺&#xff0c;就就像盛大通行證、網易通行證&#xff0c;戰網平臺&#xff0c;這些平臺統一管理游戲的賬號數據。 打個比方&#xff0c;現在我們玩星辰變&#xff0c;那么玩家登陸游戲的時候…

leetcode97 交錯字符串

給定三個字符串 s1, s2, s3, 驗證 s3 是否是由 s1 和 s2 交錯組成的。 示例 1: 輸入: s1 "aabcc", s2 "dbbca", s3 "aadbbcbcac" 輸出: true 示例 2: 輸入: s1 "aabcc", s2 "dbbca", s3 "aadbbbaccc" 輸…

算法(27)-最大系列

最大系列1.LeetCode-239 滑動窗口的最大值2.LeetCode-53 連續子數組的最大和3.LeetCode-152 乘積最大的子數組。4.劍指 Offer 14- I. 剪繩子為k個整數段&#xff0c;使各個段成績最大1.dp數學推導1.LeetCode-239 滑動窗口的最大值 窗口由左往右最大值數組Left&#xff0c;和由…

mysql數據庫表的導入導出

MySQL寫入數據通常用insert語句&#xff0c;如 復制代碼 代碼如下: insert into person values(張三&#xff0c;20)&#xff0c;&#xff08;李四&#xff0c;21&#xff09;&#xff0c;&#xff08;王五&#xff0c;70&#xff09;…; 但有時為了更快速地插入大批量數據或…

leetcode 33 搜索旋轉排序數組 到處是細節的好題

這個題想了想就會做&#xff0c;只是細節真的能卡死人&#xff0c;找了好久的bug。甚至我懷疑我現在的代碼可能還有錯&#xff0c;只是沒例子測出來。 假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如&#xff0c;數組 [0,1,2,4,5,6,7] 可能變為 [4,5,6,7,0,1…

多線程中局部靜態變量初始化的陷阱

C當中常常需要一個全局唯一的對象實例&#xff0c;這時候&#xff0c;我們就會想到單件模式。如何實現這一模式&#xff1f;全局變量當然是一個簡單可行的方法&#xff0c;然而&#xff0c;這太丑陋。嗯&#xff0c;其實&#xff0c;丑陋倒也罷了&#xff0c;最嚴重的是它將引誘…

MachineLearning(8)-PCA,LDA基礎+sklearn 簡單實踐

PCA,LDA基礎sklearn 簡單實踐1.PCAsklearn.decomposition.PCA1.PCA理論基礎2.sklearn.decomposition.PCA簡單實踐2.LDAsklearn.discriminant_analysis.LinearDiscriminantAnalysis2.1 LDA理論基礎2.2 sklearn LDA簡單實踐1.PCAsklearn.decomposition.PCA 1.PCA理論基礎 PCA:&…