美文网首页
HJ52 计算字符串的编辑距离

HJ52 计算字符串的编辑距离

作者: vivienYang2019 | 来源:发表于2023-08-30 11:33 被阅读0次

https://www.nowcoder.com/practice/3959837097c7413a961a135d7104c314

描述

Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。
例如:
字符串A:abcdefg
字符串B: abcdef

通过增加或是删掉字符”g”的方式达到目的。这两种方案都需要一次操作。把这个操作所需要的次数定义为两个字符串的距离。
要求:
给定任意两个字符串,写出一个算法计算它们的编辑距离。
本题含有多组输入数据。

输入描述:

每组用例一共2行,为输入的两个字符串

输出描述:

每组用例输出一行,代表字符串的距离

示例1

输入:
abcdefg
abcdef
输出:
1

js实现

参考:

const rl = require("readline").createInterface({ input: process.stdin });
let input_data=[]
rl.on('line',function(input){
    input_data.push(input)
    if(input_data.length===2){
        let [s1,s2]=input_data
        let dp=new Array(s1.length+1)
        for(let i=0;i<=s1.length;i++){
            dp[i]=new Array(s2.length+1)
            for(let j=0;j<=s2.length;j++){
                if(i===0){
                    dp[i][j]=j
                }else if(j===0){
                    dp[i][j]=i
                }else{
                    if(s1[i-1]===s2[j-1]){
                        dp[i][j]=dp[i-1][j-1]
                    }else{
                        dp[i][j]=Math.min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+1
                    }
                }
            }
        }
        console.log(dp[s1.length][s2.length])
    }
   
})

相关文章

  • HJ52 计算字符串的距离

    描述Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许...

  • 最小编辑距离_Python

    最小编辑距离或莱文斯坦距离(Levenshtein),指由字符串A转化为字符串B的最小编辑次数。允许的编辑操作有:...

  • 动态规划求最小编辑距离

    我们需要去计算两个字符串之间的相似度,这个在拼写校正和在生物中计算蛋白质序列距离非常有用。 编辑距离定义 The ...

  • Levenshtein 距离

    简介 Levenshtein 距离是一种编辑距离,用来表示两个字符串的差异。编辑距离是指从字符串 A 开始,修改成...

  • 文本相似度计算与展示

    文本相似度计算方法归类 基于字符串。该方法从字符串匹配度出发,以字符串共现和重复程序为相似度的衡量标准。如编辑距离...

  • 编辑距离(edit distance)

    编辑距离 LeetCode 72. 编辑距离 概念 编辑距离,是指将字符串word1通过替换、删除、增加字符的操作...

  • Edit Distance(编辑距离)

    前言 今天看了Stanford编辑距离代码,感觉写得不错,写一篇博客记录下。 编辑距离的定义是:从字符串A到字符串...

  • 序列比对(二十五)——编辑距离

    原创:hxj7 本文介绍两个字符串的编辑距离并给出代码。 编辑距离 所谓编辑距离,就是给定两个字符串后,将一个字符...

  • 【动态规划】字符串编辑距离(Levenshtein距离)

    最近在做项目的过程中需要计算两个字符串之间的编辑距离,所谓编辑距离,就是讲其中一个串变成另一个串需要的做少的操作次...

  • 编辑距离求解算法分析

    编辑距离是一种衡量两个相似字符串相似性的度量方法。距离越大相似度越小。具体地,两个字符串的编辑距离是其中一个字符串...

网友评论

      本文标题:HJ52 计算字符串的编辑距离

      本文链接:https://www.haomeiwen.com/subject/hkkomdtx.html