开发者社区> 问答> 正文

遇到一个神秘消失问题,求解答

在书架上摆着一些书,这些书只有两种颜色,要么是黄色,要么是蓝色,突然某一天这些书被施了魔法,如果一本黄色和一本蓝色的书挨着,这两本书就会消失不见,然后右边的书会往左边移动,直到和左边的书挨着,如果这两本颜色不同,这两本书又会神秘消失。现在给你一个只包含 A 和 B 的字符串 s(1<=|s|<=100000),其中 A 表示黄色的书,B 表示蓝色的书,问这 n 本书中最多会消失多少本书 ?输入一个字符串 s,s 中 A 表示黄色的书,B 表示蓝色的书;输出最多会消失多少本书。

展开
收起
游客4skzfvnrxrzbi 2021-12-23 17:05:34 357 0
1 条回答
写回答
取消 提交回答
  • 本题可以通过观察规律得出解题思路,根据题意,两种颜色的书相邻摆放,就都会消失。可以得知只要两种颜色的书同时存在,就会处于不稳定的状态,总会有书消失,因此到最后的时候必然只能剩下一种颜色的书。分析到这里,答案呼之欲出了。两种书中,数量较少的书最终会全部消失,消失的时候又会带走一本不同颜色的书。所以消失的书的数量为:数量较少的书的数量 *2。只要把字符串转成字符数组,然后分别统计字符 A 和字符 B 的数量即可。 因此输入:"AABB" 输出:4

    2021-12-23 18:53:31
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
消失的那几年 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载