在线编程解题之神秘消失

简介: 概述:在书架上摆着一些书,这些书只有两种颜色,要么是黄色,要么是蓝色,突然某一天这些书被施了魔法,如果一本黄色和一本蓝色的书挨着,这两本书就会消失不见,然后右边的书会往左边移动,直到和左边的书挨着,如果这两本颜色不同,这两本书又会神秘消失。现在给你一个只包含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)

相关文章
代码随想录 Day27 贪心02中 LeetCode T55跳跃游戏
代码随想录 Day27 贪心02中 LeetCode T55跳跃游戏
44 0
|
存储 C++ 容器
五道超经典题目,带你手撕链表题(多种方法实现)下
五道超经典题目,带你手撕链表题(多种方法实现)
67 1
|
8月前
|
存储 索引
【冲击蓝桥篇】动态规划(下):你还在怕动态规划!?进来!答题模板+思路解析+真题实战
【冲击蓝桥篇】动态规划(下):你还在怕动态规划!?进来!答题模板+思路解析+真题实战
|
C语言
近期一系列个人做题反复记不住以及思路不清晰问题的总结
近期一系列个人做题反复记不住以及思路不清晰问题的总结
54 0
五道超经典题目,带你手撕链表题(多种方法实现)上
五道超经典题目,带你手撕链表题(多种方法实现)
117 0
(leetcode)面试题 17.04. 消失的数字(单身狗变体)
(leetcode)面试题 17.04. 消失的数字(单身狗变体)
86 0
|
算法
leetcode算法 每日一题(17.04消失的数字)day 1
今天开始小编开始给大家带来算法题目的讲解,首先我们看题目描述
135 0
|
算法 JavaScript Java
一道Android逆向题的取巧解题思路
一道Android逆向题的取巧解题思路
|
算法 C++
【快乐手撕LeetCode题解系列】——消失的数字
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【快乐手撕LeetCode题解系列】——消失的数字~ 都是精华内容,可不要错过哟!!!😍😍😍
99 0
(思维)(必要做题步骤)(皮卡丘与 Codeforces )D - 先来签个到
(思维)(必要做题步骤)(皮卡丘与 Codeforces )D - 先来签个到
107 0