在线编程解题之神秘消失

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

相关文章
|
20天前
|
C语言
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
本文档介绍了编程任务的详细内容,旨在运用枚举法求解硬币等额 - 循环控制语句(`for`、`while`)及跳转语句(`break`、`continue`)的使用。 - 循环嵌套语句的基本概念和应用,如双重`for`循环、`while`嵌套等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台将对编写的代码进行测试,并给出预期输出结果。 5. **通关代码**:提供完整的代码示例,帮助理解并完成任务。 6. **测试结果**:展示代码运行后的实际输出,验证正确性。 文档结构清晰,逐步引导读者掌握循环结构与嵌套的应用,最终实现硬币兑换的程序设计。
47 19
|
8月前
|
存储 索引
【冲击蓝桥篇】动态规划(下):你还在怕动态规划!?进来!答题模板+思路解析+真题实战
【冲击蓝桥篇】动态规划(下):你还在怕动态规划!?进来!答题模板+思路解析+真题实战
|
C语言
近期一系列个人做题反复记不住以及思路不清晰问题的总结
近期一系列个人做题反复记不住以及思路不清晰问题的总结
58 0
|
算法
leetcode算法 每日一题(17.04消失的数字)day 1
今天开始小编开始给大家带来算法题目的讲解,首先我们看题目描述
141 0
|
算法 C++
【快乐手撕LeetCode题解系列】——消失的数字
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【快乐手撕LeetCode题解系列】——消失的数字~ 都是精华内容,可不要错过哟!!!😍😍😍
102 0
(思维)(必要做题步骤)(皮卡丘与 Codeforces )D - 先来签个到
(思维)(必要做题步骤)(皮卡丘与 Codeforces )D - 先来签个到
110 0
LeetCode每日一题——面试题 17.19. 消失的两个数字
给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。你能在 O(N) 时间内只用 O(1) 的空间找到它们吗?
89 0
|
定位技术
洛谷P1747-好奇怪的游戏(BFS)
洛谷P1747-好奇怪的游戏(BFS)
洛谷P1747-好奇怪的游戏(BFS)