• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[神梦] 【每日一题】设计Goal解析器 - 2022.11.06 [复制链接]

1#
题目描述

请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成。Goal 解析器会将 "G" 解释为字符串 "G"、"()" 解释为字符串 "o" ,"(al)" 解释为字符串 "al" 。然后,按原顺序将经解释得到的字符串连接成一个字符串。
给你字符串 command ,返回 Goal 解析器 对 command 的解释结果。
提示:
1 <= command.length <= 100
command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成

【示例】1:
输入:command = "G()(al)"
输出:"Goal"
解释:Goal 解析器解释命令的步骤如下所示:
G -> G
() -> o
(al) -> al
最后连接得到的结果是 "Goal"

【示例】2:
输入:command = "G()()()()(al)"
输出: "Gooooal"

【示例】3:
输入:command = "(al)G(al)()()G"
输出:"alGalooG"


题目难度:简单
题目来源:goal-parser-interpretation | leetcode
题目交流: 584781753
  1. Import "SmAssert.dll"

  2. Function 设计Goal解析器(命令)
  3.     // 您的代码写在这里
  4. End Function


  5. SmAssert.That 设计Goal解析器("G()(al)"), "=", "Goal"
  6. SmAssert.That 设计Goal解析器("G()()()()(al)"), "=", "Gooooal"
  7. SmAssert.That 设计Goal解析器("(al)G(al)()()G"), "=", "alGalooG"
复制代码

参考题解

  1. Import "SmAssert.dll"

  2. Function 设计Goal解析器(命令)
  3.     
  4.     '【作者】:神梦无痕
  5.     '【QQ】:1042207232
  6.     '【Q群】:584781753
  7.     
  8.     Dim R    /* Long */
  9.     Dim L    /* Long */
  10.     Dim i    /* Long */
  11.     Dim c    /* String */
  12.     Dim Ret /* String */
  13.     
  14.     Ret = ""
  15.     L = 0
  16.     R = 0
  17.     For i = 1 To Len(命令)
  18.         c = Mid(命令, i, 1)
  19.         If c = "G" Then
  20.             Ret = Ret & "G"
  21.         ElseIf c = "(" Then
  22.             L = i
  23.         ElseIf c = ")" Then
  24.             R = i
  25.             If R - L - 1 = 0 Then
  26.                 Ret = Ret & "o"
  27.             Else
  28.                 Ret = Ret & Mid(命令, L + 1, R - L - 1)
  29.             End If
  30.         End If
  31.     Next
  32.     设计Goal解析器 = Ret
  33. End Function

  34. SmAssert.That 设计Goal解析器("G()(al)"), "=", "Goal"
  35. SmAssert.That 设计Goal解析器("G()()()()(al)"), "=", "Gooooal"
  36. SmAssert.That 设计Goal解析器("(al)G(al)()()G"), "=", "alGalooG"
复制代码










插件下载

 
【插件】神梦断言插件 SmAssert.dll,帮助开发者发现业务逻辑错误

2#

超级解析器

3#

学习一下

4#


5#


发新话题 回复该主题