华为OD机试 - 消消乐游戏 - 栈Stack(Java 2023 B卷 100分)

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

游戏规则:

输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束输出最终得到的字符串长度。

二、输入描述

输入原始字符串str,只能包含大小写英文字母,字母的大小写敏感,str长度不超过100。

三、输出描述

输出游戏结束后,最终得到的字符串长度。

四、解题思路

  1. 由于栈:后进先出的特效,首先要能想到应用栈Stack;
  2. 通过peek()获取最新的字母,与下一个字母进行比较,看是否可以消除;
    • 如果相等,则通过pop()弹出;
    • 否则将字母压入栈中;

五、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.nextLine();/*** 栈:后进先出* 队列:先进先出*/Stack stack = new Stack();for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);/*** peek():取栈顶元素但不弹出* pop():将栈顶元素弹出*/if(!stack.empty() && stack.peek().equals(c)){stack.pop();}else{stack.push(c);}}System.out.println(stack.size());
}

六、效果展示

1、输入

NezhaahZ

2、输出

4

3、说明

在这里插入图片描述


🏆下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/133221.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WIFI产品使用指导说明

一、登录服务器 二、新建产品 三、设置WIFI产品的联网参数 1、恢复出厂设置 2、设置参数 四、操作更新 网络连接特性&#xff1a; 路由器掉线得情况下&#xff0c; 第一次&#xff0c;搜索网络1分钟间隔第二次&#xff0c;搜索网络1分钟间隔第三次&#xff0c;搜索网络…

深入解析Spring Cloud Gateway的GlobalFilter

文章目录 摘要引言GlobalFilter的作用使用GlobalFilter默认的GlobalFilter自定义GlobalFilter 示例代码配置GlobalFilter配置文件方式代码方式 高级用法&#xff1a;重写GlobalFilter思路代码实现 结论参考文献 摘要 本文将详细介绍Spring Cloud Gateway中的GlobalFilter&…

java非文本文件copy

文本文件使用字符流来处理 非文本文件使用字节流来处理 字节流处理代码整理 public void copyFile(String srcPath, String desPath) {FileInputStream fileInputStream null;FileOutputStream fileOutputStream null;try {File srcFile new File(srcPath);File desFile ne…

简要归纳UE5 Lumen全局光照原理

文章目录 一、Jim kajiya老爷子的渲染方程&#xff1a;二、工程上的实时全局光照技术&#xff1a;三、Lumen的解决办法&#xff1a;1、用距离场 Distance Field&#xff08;SDF&#xff09;判断光线和三角面相交&#xff1a;2.表面缓存&#xff08;Surface Cache&#xff09; 四…

QTableWidget中cell 和 item区别

1.cell&#xff1a;某行某列中单元格。cell相当于一个容器&#xff0c;如箱子。里面不管有没有东西&#xff0c;cell都在那里。 2.item&#xff1a;item是某行某列单元格中的内容&#xff0c;即cell箱子中所放置的东西&#xff0c;即实实在在的东西。 通过调用 itemClicked()…

第四范式破发,AI大模型之殇?

9月28日&#xff0c;决策类AI独角兽第四范式敲钟挂牌港交所&#xff0c;发行价为55.60港元/股&#xff0c;IPO首日报收58.50港元/股&#xff0c;涨幅5.22%。不过也就日内富贵&#xff0c;在之后的几个交易日里&#xff0c;市值蒸发超20亿港元&#xff0c;截止目前&#xff0c;股…

低压配电系统中浪涌保护器的作用,安装位置和接线方法

低压配电系统是指在变压器低压侧或用户侧的电气装置&#xff0c;主要用于向用户提供安全、可靠和经济的电能。低压配电系统中常见的电气设备有低压配电柜、分支箱、开关箱、插座、照明等。这些设备都需要防止因外部或内部原因产生的过电压对其造成损坏或影响其正常工作。过电压…

el-table 表格里面有tree 层级 进行勾选和反勾选

// 勾选全选反勾选等实现setChecked(data) {for (let i 0; i < data.length; i) {const node data[i];if (node.isCheck) {// 如果当前节点被勾选&#xff0c;将其子节点全部设置为选中状态if(node.children) {for (let j 0; j < node.children.length; j) {const chi…

京东历史价格数据接口,京东商品历史价格接口,京东API接口

京东商品历史价格数据接口采集方法如下&#xff1a; 注册京东开发者账号&#xff0c;并创建应用&#xff0c;获取到应用ID&#xff08;appID&#xff09;、应用密钥&#xff08;appSecret&#xff09;以及访问令牌&#xff08;accessToken&#xff09;。获取接口请求地址。根据…

Linux:redis的基础操作

redis介绍&#xff0c;安装和性能测试 Linux&#xff1a;redis数据库源码包安装-CSDN博客https://blog.csdn.net/w14768855/article/details/133752744?spm1001.2014.3001.5501如果没有了解过redis那么一定要去看看介绍 登录 redis-cli 可以登录到本机127.0.0.1&#xff0c;…

启动Spring Boot项目

介绍启动运行Spring Boot项目打包的jar 1、使用java -jar命令启动项目 java -jar project.jar 执行效果&#xff1a; 使用java -jar 文件名.jar启动项目&#xff0c;项目在前台运行&#xff0c;项目运行的日志将打印在当前控制台上&#xff0c;若退出当前控制台&#xff0c…

【ARM CoreLink 系列 7 -- TZC-400控制器简介】

文章目录 背景介绍1.1 TZC-400 简介1.2 TZC-400 使用示例1.3 TZC-400 interfaces1.3.1 FPID1.3.2 NSAID Regionregion 检查规则 1.4 Features1.5 Register summary1.6 TZC-400和TZPC和TZASC区别 背景介绍 为了确保内存能够正确识别总线的信号控制位&#xff0c;新增一个TrustZ…