本题要求在大量已知子命令中,根据用户输入的错误命令,找到与之最相似(即编辑距离最小)的子命令并提示。 最相似的定义为Levenshtein 距离,即将一个字符串通过 替换、插入、删除 三种基本操作变为另一个字符串所需的最少步数。
在终端中使用命令行工具时,用户偶尔会不小心打错命令中的若干字符。例如,本来打算输入 git clone,实际敲入的却是 git clane。为了提升工具易用性,需要从已支持的子命令列表中找出与用户输入最接近的候选项,展示为提示。
相似程度由编辑距离衡量。两个字符串之间的编辑距离定义为:将一个字符串转换为另一个字符串所需的最少编辑操作次数。允许的编辑操作只有三种:替换一个字符、插入一个字符、删除一个字符。编辑距离越小,两个字符串越相似。
给定整数 D 作为提示阈值,表示允许提示的最大编辑距离。当用户输入与某个子命令的编辑距离 d 满足 1≤d≤D 时,该子命令可被提示。
约束条件:
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册