在线编程解题之神秘消失

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

一、题目详情

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

示例1

输入:
"AABB"
输出:
4

二、解题思路

解题主要找的是问题的关键点和对问题的理解程度,这道题的关键点有两个:

关键点一:消失。

如果一本黄色和一本蓝色的书挨着,这两本书就会消失不见。解读一下就是A与B挨着就会同时消失。再理解一下就是,消失的书本数量是2的倍数。

关键点二:挨着。

不管有多少本书,也不管怎么放,必定会有一本黄色和一本蓝色的书挨着。比如一种极端的情况就是示例中展示的:“AABB”。而AB挨着的结果就是AB同时消失。再换一个思路,如果AB不想不会同时消失,唯一的可能性就是你只有A或者只有B。

根据题目,结合关键点,可以得出以下结论:

  1. N本书摆在书架上,最后只会剩下A或者B(依据关键点二)
  2. 消失书本的数量是A或者B数量的两倍(依据关键点一)

时间复杂度:O(1)

空间复杂度:O(1)

相关文章
|
15天前
|
算法
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
19 3
|
5月前
|
C语言
近期一系列个人做题反复记不住以及思路不清晰问题的总结
近期一系列个人做题反复记不住以及思路不清晰问题的总结
13 0
|
6月前
|
算法
代码随想录算法训练营第二十四天 | LeetCode 77.组合
代码随想录算法训练营第二十四天 | LeetCode 77.组合
68 0
|
6月前
|
算法 测试技术 容器
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
29 1
|
9月前
|
算法
[算法刷题题解笔记] 洛谷 P1008 [NOIP1998 普及组] 三连击 [枚举|模拟]
[算法刷题题解笔记] 洛谷 P1008 [NOIP1998 普及组] 三连击 [枚举|模拟]
|
算法 C++
【快乐手撕LeetCode题解系列】——消失的数字
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【快乐手撕LeetCode题解系列】——消失的数字~ 都是精华内容,可不要错过哟!!!😍😍😍
67 0
|
边缘计算 算法 测试技术
LeetCode 周赛 334,在算法的世界里反复横跳
今天是 LeetCode 第 334 场周赛,你参加了吗?这场周赛考察范围比较基础,整体难度比较平均,第一题难度偏高,第四题需要我们在算法里实现 “反复横跳”,非常有意思。
77 1
|
测试技术
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:6.特别数的和
蓝桥杯2019年第十届JavaB组真题题目+解析+代码+答案:6.特别数的和
62 0
|
存储 算法
【切图仔的算法修炼之旅】LeetCode20:有效的括号
【切图仔的算法修炼之旅】LeetCode20:有效的括号
79 1
【切图仔的算法修炼之旅】LeetCode20:有效的括号
|
Python
最后一课:体育竞技问题分析
最后一课:体育竞技问题分析
100 0
最后一课:体育竞技问题分析