[编程题]配置文件恢复

时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M
链接:https://www.nowcoder.com/questionTerminal/ca6ac6ef9538419abf6f883f7d6f6ee5?toCommentId=10314559
来源:牛客网

题目描述

有6条配置命令,它们执行的结果分别是:

命 令 执 行
reset reset what
reset board board fault
board add where to add
board delete no board at all
reboot backplane impossible
backplane abort install first
he he unknown command

注意:he he不是命令。

为了简化输入,方便用户,以“最短唯一匹配原则”匹配:

1、若只输入一字串,则只匹配一个关键字的命令行。例如输入:r,根据该规则,匹配命令reset,执行结果为:reset what;输入:res,根据该规则,匹配命令reset,执行结果为:reset what;

2、若只输入一字串,但本条命令有两个关键字,则匹配失败。例如输入:reb,可以找到命令reboot backpalne,但是该命令有两个关键词,所有匹配失败,执行结果为:unknown command

3、若输入两字串,则先匹配第一关键字,如果有匹配但不唯一,继续匹配第二关键字,如果仍不唯一,匹配失败。例如输入:r b,找到匹配命令reset board 和 reboot backplane,执行结果为:unknown command。

4、若输入两字串,则先匹配第一关键字,如果有匹配但不唯一,继续匹配第二关键字,如果唯一,匹配成功。例如输入:b a,无法确定是命令board add还是backplane abort,匹配失败。

5、若输入两字串,第一关键字匹配成功,则匹配第二关键字,若无匹配,失败。例如输入:bo a,确定是命令board add,匹配成功。

6、若匹配失败,打印“unknown command”


输入描述:

多行字符串,每行字符串一条命令

输出描述:

执行结果,每条命令输出一行

示例1

输入

reset
reset board
board add
board delet
reboot backplane
backplane abort

输出

reset what
board fault
where to add
no board at all
impossible
install first

思路

  • 字符串拆分+比对,用includes()实现
  • 本题实在简单,最多也不过两截字符串,很容易AC

题解

// 命令输入
//let line = 'reset board'
while ((line = readline())) {let lines = line.split(' ')let command = ['reset', 'reset board', 'board add', 'board delete', 'reboot backplane', 'backplane abort']let dos = ['reset what', 'board fault', 'where to add', 'no board at all', 'impossible', 'install first']if (lines.length == 1) {if ('reset'.includes(lines[0])) {console.log(dos[0])} else {console.log('unknown command')}}if (lines.length == 2) {let indexxlet flag = 0for (let i = 1; i < command.length; i++) {let com = command[i].split(' ')//   console.log(com)//   console.log(com[0].includes(lines[0]), com[1].includes(lines[1]))if (com[0].includes(lines[0]) && com[1].includes(lines[1])) {flag++indexx = i}}if (flag == 1) {console.log(dos[indexx])} else {console.log('unknown command')}}
}

[JS] [编程题] 配置文件恢复相关推荐

  1. 网易有道编程题:恢复队列

    题目详情:给出一个含有n个元素的队列,其内容为1到n的无序整数,按照给定算法输出该队列,使得该队列依次输出1,2,3,-,n-1,n. 给定算法为: void outque(queue<int& ...

  2. [JS][编程题]括号匹配

    括号匹配 题目来源:牛客网 题目链接:括号匹配 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 题目描述 给定一个只包含括号的字符串,判断字符串是否有效.其 ...

  3. js用函数实现输出100以内与7有关的数_一些js编程题

    数组扁平化 例: 输入:[[1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14]]]], 10] 输出:[ 1, 2, 2, 3, 4 ...

  4. 关于数组的js编程题(面试很常见哦)

    问题1:计算给定数组 arr 中所有元素的总和 function sum(arr) {var result = 0;for(var i = 0; i < arr.length; i++){res ...

  5. Java 笔试强训 牛客网选择编程题 01

    一.选择 1.单选 1.1.语法: public class Test3{public static void main(String[] args) {System.out.println(100 ...

  6. JavaScript初学者编程题(9)

    JavaScript初学者编程题(9) 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个&quo ...

  7. JavaScript初学者编程题(2)

    JavaScript初学者编程题(2) 题目:企业发放的奖金根据利润提成.利润低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分 ...

  8. javascript编程题_如何开始使用JavaScript进行竞争性编程

    javascript编程题 by Priyabrata Biswas 通过Priyabrata Biswas 如何开始使用JavaScript进行竞争性编程 (How to get started w ...

  9. 多益面试题简答题和编程题解析

    今日做完多益的笔试题,五道简答题对于英语渣渣的我来说其实只有三道题,回答的时候都是云里雾里的一脸懵逼,交卷后特意查了一下答案,以此铭记. 1.编程语言和脚本语言的区别 对于程序员而言,目前从事的行业基 ...

最新文章

  1. HAProxy入门及常用配置模拟测试
  2. Python快速学习09: 函数的参数
  3. 将用int型存储的时间转换成time时间格式笔记
  4. java spring eventbus_spring集成guava的event bus
  5. urllib2:URLError与HTTPError
  6. jQuery UI.Layout
  7. hdu3535 (分组背包,最少选一 + 最多选一 + 随意)
  8. JavaScript学习总结(1)——JavaScript基础
  9. 谷歌漏洞披露规则增加30天补丁缓冲期;Reddit 公开漏洞奖励计划
  10. 编译用于高放射性环境的应用程序
  11. break lab c语言,C语言printf详解
  12. 微信公众号网页授权-java开发
  13. python怎样计算增长率_Python令人难以置信的增长
  14. 云南企业私有云平台搭建解决方案、Zstack云平台管理软件介绍
  15. 微信小程序中 三元表达式
  16. 华为全连MGRE与星型拓扑MGRE(全网状与非全网状)
  17. 潘爱民:计算机程序的演进——我的程序人生三十年
  18. 加载大图片,内存溢出问题
  19. Accumulation Degree --- 换根dp
  20. iOS 截图 截取屏幕

热门文章

  1. 时间处理_pandas_时间处理小结
  2. RuntimeError: Assertion cur_target 0 cur_target n_classes failed
  3. pytorch中的transpose()
  4. 正则表达式中?=和?:和?!的理解
  5. LeetCode简单题之检查两个字符串数组是否相等
  6. LeetCode简单题之最小操作次数使数组元素相等
  7. CPU架构的llvm后端
  8. 传感器融合带来多重好处
  9. 2021年大数据Flink(十二):流批一体API Transformation
  10. Django Response对象3.4