一、问题定义与心智模型
编辑距离(Levenshtein Distance):给定两个字符串 word1 和 word2,求将 word1 转换成 word2 所需的最少操作次数。允许三种操作:
| 操作 | 含义 | 示例 |
|---|---|---|
| 插入 | 在任意位置插入一个字符 | ab → abc |
| 删除 | 删除任意一个字符 | abc → ab |
| 替换 | 将任意字符替换为另一个 | abc → adc |
心智模型:想象你在用编辑器逐字符"对齐"两个字符串。每一步要么让两个指针同时前进(字符相同则免费),要么花 1 次操作消除一个"不对齐"。
Mermaid · 渲染中(下方为源码)
graph LR
A["horse"] -->|"替换 h→r"| B["rorse"]
B -->|"删除 r"| C["rose"]
C -->|"删除 e"| D["ros ✓"]