请你设计一个可以解释字符串 command 的 Goal 解析器

2023-11-04

1678. 设计 Goal 解析器

请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 "G""()" 和/或 "(al)" 按某种顺序组成。Goal 解析器会将 "G" 解释为字符串 "G""()" 解释为字符串 "o" ,"(al)" 解释为字符串 "al" 。然后,按原顺序将经解释得到的字符串连接成一个字符串。

给你字符串 command ,返回 Goal 解析器  command 的解释结果。

示例 1:

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

示例 2:

输入:command = "G()()()()(al)"
输出:"Gooooal"

示例 3:

输入:command = "(al)G(al)()()G"
输出:"alGalooG"

提示:

  • 1 <= command.length <= 100
  • command 由 "G""()" 和/或 "(al)" 按某种顺序组成
  • ==

============================

思路,

1.使用StringBuilder保存需要返回的字符串。

 2.从头到尾逐个读取字符串,

        2.1如果遇到字符,直接追加到stringbuilder。

        2.2如果遇到(,判断下一个是否是),

               2.2.1 如果是,追加 o 到stringbuilder。。i++下一次循环跳过一个字符)

                2.2.2 如果不是,把( 之后, )之前 的字符追加到 stringbuilder。i++,下一次循环跳过一个字符)

3,返回stringbuilder

package month11;

public class command {
    public static void main(String[] args) {

        String command = "Ca()m(ks)";
        System.out.println(Word(command));
    }

    /*请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 "G"、"()"
    和/或 "(al)" 按某种顺序组成。
    Goal 解析器会将 "G" 解释为字符串
     "G"、"()" 解释为字符串 "o" ,"(al)" 解释为字符串 "al" 。然后,按原顺序将经解释得到的字符串连接成一个字符串。
    给你字符串 command ,返回 Goal 解析器 对 command 的解释结果。*/
    public static String Word(String command) {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < command.length(); i++) {
            if (command.charAt(i) == '(') {
                if (command.charAt(i + 1) == ')') {
//                    左右括号在一起。
                    stringBuilder.append("o");
                    i++;//跳过 右括号
                } else {
                    //             左右括号不在一起,   继续判断后续
                    while (command.charAt(i + 1) != ')') {
                        stringBuilder.append(command.charAt(i + 1));
                        i++;//读取下一个字符
                    }
                    i++;//跳过 右括号
                }

            } else {
                stringBuilder.append(command.charAt(i));
            }
        }
        return stringBuilder.toString();
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

请你设计一个可以解释字符串 command 的 Goal 解析器 的相关文章

  • 在 Java Swing 中检测 JScrollPane 上的 mouseClick 事件

    如果我有这样的东西 我可以使用布尔标志 performAdjustment 控制自动滚动 static boolean performAdjustment true JTextArea textArea new JTextArea JScr
  • 如何在java swing中的每个页面中打印带有页脚的整个JPanel

    好吧 这可能很简单 但想不通 我有一个包含 JTable 的 JPanel JTable 包含很少的行 有时更多 因为我推入其中的表模型取决于数据库 但是 我不使用任何包含 JTable 的 JScolpane 因此 当 JTable 包含
  • Android NumberPicker 带字符串

    I have customised the NumberPicker to show text The output is this 当我按 确定 时 我想将 e x 鼠标添加到我的列表 文章 中 我得到的是索引值 int 它由 array
  • 如何使用 SLF4J 和 Log4j2 记录 FATAL(或任何自定义日志级别)

    我有那些具体的要求 需要能够登录FATAL level 需要使用SLF4J 需要使用Log4j2 现在 这是我的执行 final Logger logger LoggerFactory getLogger HelloWorld class
  • 从 OMElement 对象获取 InputStream/io.Reader

    我有一个OMElement对象 从中我想得到一个InputStream或读者对象 我想要的是流式传输xml来自OMElement我有 没有加载到内存中 我只能得到XMLStreamReader对此表示反对 但我找不到办法得到InputStr
  • 在 Kotlin 中实现返回 Collection 的 Java 方法

    我将 Kotlin 与 Spring Security 结合使用 实现该方法时 public interface UserDetails extends Serializable Collection
  • JPanel透明背景和显示元素[重复]

    这个问题在这里已经有答案了 我插入一个背景图e 变成 aJPanel但一些界面元素消失了 以下 Java Swing 元素不会出现 标签标题 标签 usuario 标签 密码 按钮加速器 你能否使图像透明或元素不透明 setOpaque f
  • .java 和 .scala 类之间是否可能存在循环依赖?

    假设我在 java 文件中定义了类 A 在 scala 文件中定义了类 B A 类使用 B 类 B 类使用 A 类 如果我使用 java 编译器 则会出现编译错误 因为 B 类尚未编译 如果我使用scala编译器A类将找不到 有没有可以同时
  • 有效地查找正则表达式的所有重叠匹配项

    这是后续与 java 正则表达式匹配的所有重叠子字符串 https stackoverflow com q 11303309 244526 有没有办法让这段代码更快 public static void allMatches String
  • 业务代表与服务定位器

    Business Delegate 和 Service Locator 之间有什么区别 两者都负责封装查找和创建机制 如果 Business Delegate 使用 Service Locator 来隐藏查找和创建机制 那么 Busines
  • 我们可以在三元运算符(Java)中使用命令吗?

    这是一个工作代码 String a first String b second String object System out println object null a b 但它不是 String a first String b se
  • Java中的DRY原则[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我一直在读关于DRY https en wikipedia org wiki Don 27t repeat yourself原则 虽然看起来
  • 通用 JSF 实体转换器[重复]

    这个问题在这里已经有答案了 我正在编写我的第一个 Java EE 6 Web 应用程序作为学习练习 我没有使用框架 只是使用 JPA 2 0 EJB 3 1 和 JSF 2 0 我有一个自定义转换器 用于将存储在 SelectOne 组件中
  • 哪种 Java DOM 包装器是最好或最受欢迎的? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 存储过程将多个表返回到 spring jdbc 模板

    我正在使用 JdbcTemplate 从 Spring DAO 类调用存储过程 我的问题是 存储过程返回多个表 有没有办法使用 Spring JdbcTemplate 访问多个表 如果我使用jdbcTemplate queryForList
  • 如何计算文件中单词的长度?爪哇

    我正在尝试编写一个代码来计算文件中特定长度的单词数 例如 How are you 会打印 Proportion of 3 letter words 100 3 words 我想计算长度为 1 2 3 4 5 6 7 8 9 10 11 12
  • 使用 Maven 3 时 Cobertura 代码覆盖率为 0%

    读完这篇文章后 将 Cobertura 与 Maven 3 0 2 一起使用的正确方法是什么 https stackoverflow com questions 6931360 what is the proper way to use c
  • 将字符串中的字符向左移动

    我是 Stack Overflow 的新手 有一道编程课的实验室问题一直困扰着我 该问题要求我们将字符串 s 的元素向左移动 k 次 例如 如果输入是 Hello World 和3 它将输出 lo WorldHel 对于非常大的 k 值 它
  • JDK 7 的快速调试/调试构建

    我正在寻找 JDK 的调试 或者我猜他们称之为快速调试构建 以启用在运行时生成的打印程序集以及查找性能问题时所需的其他诊断 就目前情况而言 我似乎找不到可以直接使用的 现成的 快速调试构建二进制包 有人可以帮我提供下载链接 或者至少提供有关
  • Java 9 中紧凑字符串和压缩字符串的区别

    有什么优点紧凑的字符串 http openjdk java net jeps 254JDK9 中的压缩字符串 压缩字符串 Java 6 和紧凑字符串 Java 9 都有相同的动机 字符串通常实际上是 Latin 1 因此浪费了一半的空间 和

随机推荐

  • 中国人民大学和加拿大女王大学,学历的提升也是竞争力的提升

    如果想要读研提升自己在工作岗位上的竞争力和专业能力 报考在职研究生是一共非常不错的方式 在职研究生顾名思义就说国家计划内 以在职人员的身份 部分时间在职工作 部分时间在校学习的一种研究生类型 也是我国高等教育的重要组成部分 中国人民大学和加
  • 西洋经济史的趣味-赖建诚

    1990年代 台湾清华大学西洋经济史的老师 将的都是一些趣味性和严肃性的东西 明白一些经济学常识 1 经济学史到1993年 两个人获得诺贝尔经济学奖之后 才收到重视 2 这本书讲到了经济学史的重要性 3 火车轨道为什么是四尺八寸 因为这是国
  • web前端笔记

    web前端笔记 css选择器 标记选择器 如 div p 标签p id选择器 id class选择器 类名 通配符选择器 css文件外部链接 属性与属性之间用空格隔开 不是用逗号 HTML标签 双标签 p p 段落标签 标题标签 p h1
  • 微信开发 接口配置失败的坑新手注意

    申请的SAE 用来微信开发 填写完URL TOKEN后总会莫名其妙的爆出配置失败 如下的错误 出现这种原因有如下的原因 看你中招了没 1 最基本的检查这两个地方是否正确 怎么检查 不用我说吧 2 当发现上面的填写没问题 那就看这个你中招没
  • pandoc(markdown、latex、pdf、word相互转换的命令行工具)

    Markdown Pandoc 打通写作界的任督二脉 duqi yc的专栏 博客频道 CSDN NET http blog csdn net duqi yc article details 8974041 中文markdown转pdf Fl
  • java堆年轻代_Java堆(年轻代 -- 老年代 -- 永久代)

    JVM所管理的内存空间中 Java堆是最大的一块 主要用于存放各类实例对象 如下图 JVM中的堆被划分为两个不同区域 新生代Young 老年代Old 新生代又划分为Eden 伊甸 标志新生 Survivor0 s0 Survivor s1
  • 使用IDEA打包springcloud项目的jar包并发布至linux服务器

    前言 首先保证自己的springcloud项目在本地跑的通的 使用springcloud有可能缺少依赖的jar包 报 Java 程序包xxxx不存在 出现这种情况 因为配置Java的程序包这块出现了错误 同时可能你还没有设置让IDEA自动加
  • 【2023知乎爬虫】批量获取问题的全部回答

    一 需求 爬取任意问题下的所有回答 如下图 1 根据问题 批量获取问题下的所有回答 与对应问题的关系到answer csv文件 2 保存当前问题基本信息到quesiton info csv文件 二 展示爬取结果 三 讲解步骤 3 1 新建项
  • 《动手学深度学习 Pytorch版》 4.4 模型选择、欠拟合和过拟合

    4 4 1 训练误差和泛化误差 整节理论 详见书本 4 4 2 模型选择 整节理论 详见书本 4 4 3 欠拟合还是过拟合 整节理论 详见书本 4 4 4 多项回归 import math import numpy as np import
  • 表格嵌套表格数据

    表格嵌套表格数据 通常我们做联表查询 为了接收返回的数据我们往往需要书写一个类 这个类包含着接收两张表的数据字段 如下图 这是一种写法 但是如果面对一张表里的字段太多 那就得一个个去将这些字段写进类里 这种写法还可能让你的代码看上去比较繁杂
  • 手把手教你搭建ROS阿克曼转向小车之(霍尔编码器数据读取与速度计算)

    上一篇文章已经介绍了如何驱动直流有刷电机转动起来 这篇文章讲解如何获取编码器的计数值 并且计算出速度信息 在实际的运行中 随着机器的重量不一样 电机受到的阻力就会不一样 给定同样的PWM在不同载重的情况下速度会不一样 要解决这个问题就需要引
  • RFID自助借还书机给图书馆带来的优势

    自助借还书机系统是智慧图书馆的主要组成部分 自助借还书机系统主要通过对粘贴有电子标签或条形码的图书进行扫描识别 将其信息反馈到自助借还书机系统当中进行处理 自动完成借阅与归还 自助借还书机的操作页面简洁 用户操作快捷方便 而且其硬件设备简洁
  • 李沐大神动手学深度学习——学习笔记(不定期连载)

    最近在看李沐大佬的动手学深度学习 讲的非常基础 从很基础的开始讲 很易懂 这里记一些在之前没碰到过的在他代码里出现过的写法 and一些问题 当做学习记录 不定期连载更新 简单的目录 前12集 1 torch的tensor高级索引用法 2 p
  • 《machine learning》3线性代数

    3 1 矩阵和向量 矩阵Matrix Recrangular array of numbers R 4 2 R 4 2 R4 2 4行2列矩阵 矩阵的项
  • 开源api_开源IP地理位置API

    开源api Geo location is the identification or estimation of the real world geographic location of an Internet connected co
  • 解决falcon不能注册的问题

    参照
  • 导出开发板根文件系统rootfs

    环境 1 Windows子系统Linux Ubuntu18 没有安装子系统的 虚拟机也是一样 需要注意的是Windows子系统Linux Ubuntu18需要是WSL2版本 2 开发板RK3288 安装SSH 并允许root登录 3 开发板
  • Week 3 Git&Github: create a branch and push it to remote

    本节讲 在本地仓库创建分支之后 怎么同步到远程仓库 用到的命令有 git checkout b newbranch 创建并跳转到新的分支 git commit a m 提交更改 git push u origin newbranch 向远程
  • 【案例】航班准点分析

    文章目录 1 数据集 2 数据探索和清洗 3 起飞以及到达延迟情况 4 数据库样式 1 数据集 数据集为美国各州机场的航班信息 包含出发地 目的地 是否出发延迟15分钟 是否到达延迟15分钟等 https www transtats bts
  • 请你设计一个可以解释字符串 command 的 Goal 解析器

    1678 设计 Goal 解析器 请你设计一个可以解释字符串 command 的 Goal 解析器 command 由 G 和 或 al 按某种顺序组成 Goal 解析器会将 G 解释为字符串 G 解释为字符串 o al 解释为字符串 al