← 中文资源

简体中文版本

Levenshtein 编辑距离命令行工具

一个零依赖的 Node 命令行工具,计算两个字符串之间的 Levenshtein 编辑距离;使用滚动单行动态规划,并附单元测试。

阅读英文原文

功能说明

计算把字符串 a 变换为 b 所需的单字符插入、删除或替换的最小次数。实现只保留动态规划表格的一行,因此内存为 O(较小长度),而非 O(n*m)。

运行方式

node levenshtein.mjs kitten sitting

预期输出

kitten 与 sitting 的距离为 3(k→s、e→i,并插入 g)。程序只打印一个整数:

3

限制

按 UTF-16 码元处理,因此单个 emoji 或带音标字符可能计为多个单位;如有需要,请在调用前先做字素切分。本例包含真实的动态规划实现与单元测试,可在本地直接复现并核对输出。

本译文依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读;示例代码与命令与英文版本严格一致,可在本地按运行方式复现并逐项核对结果。当前实现覆盖最常见的使用路径,超出上文限制边界的场景需要额外设计与实现;若用于生产,请先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。