功能说明
计算把字符串 a 变换为 b 所需的单字符插入、删除或替换的最小次数。实现只保留动态规划表格的一行,因此内存为 O(较小长度),而非 O(n*m)。
运行方式
node levenshtein.mjs kitten sitting
预期输出
kitten 与 sitting 的距离为 3(k→s、e→i,并插入 g)。程序只打印一个整数:
3
限制
按 UTF-16 码元处理,因此单个 emoji 或带音标字符可能计为多个单位;如有需要,请在调用前先做字素切分。本例包含真实的动态规划实现与单元测试,可在本地直接复现并核对输出。
本译文依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读;示例代码与命令与英文版本严格一致,可在本地按运行方式复现并逐项核对结果。当前实现覆盖最常见的使用路径,超出上文限制边界的场景需要额外设计与实现;若用于生产,请先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。