1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol video solution AI分析

解题思路与方法

算法概述

本题要求在大量已知子命令中,根据用户输入的错误命令,找到与之最相似(即编辑距离最小)的子命令并提示。 最相似的定义为Levenshtein 距离,即将一个字符串通过 替换、插入、删除 三种基本操作变为另一个字符串所需的最少步数。

详细方法

P3488.第3题-命令行参数提示

    2000ms Tried: 740 Accepted: 163 Difficulty: 5 所属公司 : 华为
    算法与标签>动态规划

题目内容

在使用命令行工具时,经常会出现手工输入错字母的情况,如想要输入:

git clone

输入成了

git clane

因此为了命令行工具更易用,需要从支持的子命令列表中找到最相似的子命令提示给用户。最相似的定义为最短莱文斯坦距离:即两个字符串之间,由一个转成另一个所需的最少编辑操作次数。允许的编辑操作包括:

1.1.1.将一个字符替换成另一个字符

2.2.2.插入一个字符

3.3.3.删除一个字符

输入描述

第一行给出可提示的最短距离 DDD,第二行给出子命令数量N NN,后面 NN N行给出所有的子命令列表,最后一行给出用户输入的子命令。

约束:

  • 1≤D≤51≤D≤51≤D≤5
  • 1≤N≤300001≤N≤300001≤N≤30000
  • 单个子命令长度 ,子命令只包含小写字母

输出描述

输出为分三种情况:

1.1.1.用户输入的子命令正确匹配上某个子命令参数,输出原命令。

2.2.2.用户输入的子命令没有匹配上某个子命令参数,但是符合提示要求,则输出提示命令,如 clonecloneclone;如果符合提示要求的子命令有多个,则按距离从小到大排序后输出,同一个距离内还有多个的按字母序从小到大输出。

3.3.3.用户输入的子命令没有匹配上某个子命令参数,且没有符合提示要求的子命令,则输出None NoneNone

样例1

输入

2
5
aprint
bprint
aaprint
bbprint
output
print

输出

aprint bprint aaprint bbprint

说明

子命令中有四个满足与 printprintprint的距离小于等于222,其中 aprintaprintaprint 与 bprintbprintbprint与目标的距离为111,先将其排序并输出,aaprint bbprintaaprint\ bbprintaaprint bbprint 与目标距离为222,排序后接在前面输出后继续输出

样例2

输入

2
3
clone
checkout
switch
create

输出

None

说明

输入的三个子命令中没有满足与 creatcreatcreat 距离小于等于222的,因此输出 NoneNoneNone

样例3

输入

2
3
clone
checkout
switch
clane

输出

clone

说明

第一行值为222,表示当前输入不能完全正确匹配某个子命令时,则将其最短距离小于222的子命令作为提示输出;第二行为333,表示命令行实际有333个子命令,分别为后续333行;最后一行为用户实际的输入。由于用户没有命中具体的子命令,而 clonecloneclone与用户输入的距离为111,满足小于222的要求,因此输出 clonecloneclone

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 66ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?