直播平台搭建,编辑距离控制和调节
直播平台搭建,编辑距离控制和调节
1 | /**<br> * @param {string} word1<br> * @param {string} word2<br> * @return {number}<br> */ <br> var minDistance = function (word1, word2) {<br> let dp = Array.from(Array(word1.length + 1), () =><br> Array(word2.length + 1).fill(0)<br> );<br> /* base case 是i走完word1或j走完word2,可以直接返回另一个字符串剩下的长度 */ <br> // j走完word2 如果i还没走完word1,那么只能用删除操作把word1缩短为word2,也就是直接返回另一个字符串剩下的长度<br> for (let i = 1; i <= word1.length; i++) {<br> dp[i][0] = i;<br> }<br> // 同理 如果i走完word1时j还没走完了word2,那就只能用插入操作把word2剩下的字符全部插入word1<br> for (let j = 1; j <= word2.length; j++) {<br> dp[0][j] = j;<br> }<br> for (let i = 1; i <= word1.length; i++) {<br> for (let j = 1; j <= word2.length; j++) {<br> if (word1[i - 1] === word2[j - 1]) {<br> // 啥也不做<br> dp[i][j] = dp[i - 1][j - 1];<br> } else {<br> // 三选一 哪个操作最后得到的编辑距离最小,就选谁<br> dp[i][j] = Math.min(<br> // 删除<br> // 直接把word1[i]这个字符删掉,前移i继续跟j对比 操作数+1<br> dp[i - 1][j] + 1,<br> // 插入<br> // 直接在word1[i]插入一个和word2[j]一样的字符,那么word2[j]就被匹配了,前移j继续跟i对比<br> dp[i][j - 1] + 1,<br> // 替换<br> // 直接把word1[i]替换成word2[j] 这样它俩就匹配了,同时前移i,j继续对比<br> dp[i - 1][j - 1] + 1<br> );<br> }<br> }<br> }<br> return dp[word1.length][word2.length];<br>}; |
以上就是 直播平台搭建,编辑距离控制和调节,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现