华为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的主要内容,如果未能解决你的问题,请参考以下文章