在书架上摆着一些书,这些书只有两种颜色,要么是黄色,要么是蓝色,突然某一天这些书被施了魔法,如果一本黄色和一本蓝色的书挨着,这两本书就会消失不见,然后右边的书会往左边移动,直到和左边的书挨着,如果这两本颜色不同,这两本书又会神秘消失。现在给你一个只包含 A 和 B 的字符串 s(1<=|s|<=100000),其中 A 表示黄色的书,B 表示蓝色的书,问这 n 本书中最多会消失多少本书 ?输入一个字符串 s,s 中 A 表示黄色的书,B 表示蓝色的书;输出最多会消失多少本书。
本题可以通过观察规律得出解题思路,根据题意,两种颜色的书相邻摆放,就都会消失。可以得知只要两种颜色的书同时存在,就会处于不稳定的状态,总会有书消失,因此到最后的时候必然只能剩下一种颜色的书。分析到这里,答案呼之欲出了。两种书中,数量较少的书最终会全部消失,消失的时候又会带走一本不同颜色的书。所以消失的书的数量为:数量较少的书的数量 *2。只要把字符串转成字符数组,然后分别统计字符 A 和字符 B 的数量即可。 因此输入:"AABB" 输出:4
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。