Python 实现目标解析器命令解释程序
假设我们有一个目标解析器,可以解释给定的字符串命令。一个命令由以下组成:
字母“G”,
圆括号“()”,
和/或“(al)”以某种顺序组合。
我们的目标解析器将“G”解释为字符串“G”,“()”解释为“o”,“(al)”解释为字符串“al”。最终解释的字符串将按原始顺序连接起来。因此,如果我们有字符串命令,我们必须找到目标解析器对命令的解释。
因此,如果输入类似于 command = "G()()()(al)(al)",则输出将为 Goooalal。
为了解决这个问题,我们将遵循以下步骤:
s := 空字符串
对于 i 从 0 到 command 的大小 - 1,执行:
如果 command[i] 不等于 "(" 且 command[i] 不等于 ")",则
s := s 连接 command[i]
如果 command[i] 等于 "(" 且 command[i+1] 等于 ")" 且 i+1 < len(command),则
s := s 连接 'o'
如果 command[i] 等于 "(",则
跳过下一迭代
如果 command[i] 等于 ")",则
跳过下一迭代
返回 s
示例 (Python)
让我们来看下面的实现,以便更好地理解:
def solve(command):
s=""
for i in range(len(command)):
if command[i]!="(" and command[i]!=")":
s+=command[i]
if command[i]=="(" and command[i+1]==")" and i+1<len(command):
s+='o'
if command[i]=="(":
continue
if command[i]==")":
continue
return s
command = "G()()()(al)(al)"
print(solve(command))输入
"G()()()(al)(al)"
输出
Goooalal
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP