关注
这个题我是这么做的:
根据题意,可以发现字符串里开头出现的b(在第一个a出现前出现的b)与结尾出现的a(最后一个b出现后出现的a)是不可能被化简的。所以所有的字符串都可以被分为三部分:前置b,中间部分(以a开头以b结尾的若干字符),后置a。而中间部分一定可以被最终化简为b。所以我们可以用while从字符串开头遍历寻找第一个不是字符b的位置(计为headB),从结尾逆序遍历第一个不是字符a的位置(计为tailA)。
之后分情况讨论:
if headB = 字符串长度 - tailA:
说明整个字符串仅由前置b与后置a组成,不可化简,就直接将这个字符串输出。
else:
答案为:先append所有前置b,再append一个b,最后append所有后置a,然后输出。
ac了所有用例,但是也没有严格的数学证明,如果有错误还请大佬们指正~
查看原帖
1 2
相关推荐
投递宁德时代等公司6个岗位 >
点赞 评论 收藏
转发
牛客热帖
正在热议
# 和牛牛一起刷题打卡 #
5026次浏览 456人参与
# 机械制造薪资爆料 #
341762次浏览 4057人参与
# 牛客帮帮团来啦!有问必答 #
991972次浏览 15346人参与
# 通信硬件薪资爆料 #
242848次浏览 2286人参与
# 腾讯工作体验 #
147014次浏览 1410人参与
# 你觉得机械有必要实习吗 #
10392次浏览 143人参与
# 如何写一份好简历 #
301825次浏览 4333人参与
# 秋招开了,你想投哪些公司呢 #
130053次浏览 3393人参与
# 实习必须要去大厂吗? #
18408次浏览 265人参与
# 你的简历改到第几版了 #
323641次浏览 4865人参与
# 机械制造2024笔面经 #
410387次浏览 6057人参与
# 毕业租房也有小确幸 #
32603次浏览 1975人参与
# 2022毕业生求职现身说法 #
20762次浏览 313人参与
# 0offer互助地 #
53481次浏览 558人参与
# 晒一晒我的offer #
3657442次浏览 56984人参与
# 2022届毕业生现状 #
337670次浏览 4598人参与
# 为什么国企只招应届生 #
56332次浏览 411人参与
# 视觉/交互/设计岗位评价 #
3379次浏览 61人参与
# 产品人专业大盘点 #
15139次浏览 120人参与
# 浅聊一下我实习的辛苦费 #
93746次浏览 919人参与