华为OD机试 - 消消乐游戏(Java) | 机试题+算法思路+考点+代码解析 2023

Posted 坚果的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为OD机试 - 消消乐游戏(Java) | 机试题+算法思路+考点+代码解析 2023相关的知识,希望对你有一定的参考价值。

消消乐游戏

游戏规则:输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。

在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。

输出最终得到的字符串长度。

输入输出描述:

输入描述:

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

输出描述:

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

示例1

输入

gg

输出

0

说明

gg 可以直接消除,得到空串,长度为0

示例2

输入

mMbccbc

输出

3

说明

在 mMbccbc 中,可以先消除 cc ;此时字符串变成 mMbbc ,可以再消除 bb ;此时字符串变成 mMc ,此时没有相邻且相同的字符,无法继续消除。最终得到的字符串为 mMc ,长度为3

备注:

输入中包含 非大小写英文字母 时,均为异常输入,直接返回 0

解题思路

我们可以用输入的字符串中提取出字符,然后使用StringBuffer数据结构模拟栈的操作,如果栈顶元素和当前字符相同,则将栈顶元素出栈,否则将当前字符入栈,最后返回栈的长度。

以上是关于华为OD机试 - 消消乐游戏(Java) | 机试题+算法思路+考点+代码解析 2023的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试Golang解题 - 字母消消乐

华为OD机试题,用 Java 解密室逃生游戏问题

华为OD机试真题 JS 实现开心消消乐2023 Q1 | 100分

华为OD机试题,用 Java 解比赛评分问题

华为OD机试题,用 Java 解计算面积问题

华为OD机试题,用 Java 解合规数组问题