关注
解释一下斑马那道题,先读题,将串分割为两个子串后分别翻转,再将翻转后的子串拼接,这个拼接操作不允许调换原本两串的先后顺序(即a+b子串不允许拼接为b+a),题目没有描述清晰。 按照这个题意分析题中的一系列操作有什么性质: 举个栗子,现有串“12345”; 从3、4之间切,俩子串为“123”、“45”; 分别翻转,为“321”、“54”; 拼接,为“32154”; 这时候如果把整个串翻转一次(这步不是题目要求对,是为了更清晰地分析题中操作的性质),是不影响本题所求的最长连续相间串长的,翻转后结果为“45123”; 而“45123”是将原串“12345”做“123|45”分割后进行循环移位的结果:对串进行循环左移(或右移)使分割处‘|’位于串的起始(右移对应的是结束)位置,得到“|45123”; 由于进行一次循环移位的移动位数没有限制(位数由分割方式决定),多次循环移位操作的结果都可以由一次循环移位操作得到(可移0到(length(string)-1)位),因此只需分析一次循环移位操作即可——问题转化为寻找循环移位后串的最长连续相间串,于是自然地想到复制一份自身接到尾巴后,扫描一遍这个两倍串得到的答案即为所求。
查看原帖
点赞 评论
相关推荐
投递比亚迪精密制造等公司7个岗位 >
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
730274次浏览 11737人参与
# 非技术岗是怎么找实习的 #
74700次浏览 1398人参与
# 海康威视求职进展汇总 #
91624次浏览 1094人参与
# 浅聊一下我实习的辛苦费 #
81591次浏览 763人参与
# 如何写一份好简历 #
263200次浏览 3965人参与
# 硬件人求职现状 #
185087次浏览 2709人参与
# 通信硬件人笔面经互助 #
111880次浏览 2263人参与
# 面试等了一周没回复,还有戏吗 #
40620次浏览 500人参与
# 机械制造面试记录 #
37636次浏览 505人参与
# 24届营销人拿到了几个offer #
4247次浏览 62人参与
# 铜五铁六真的存在吗? #
28308次浏览 298人参与
# 实习生应该准时下班吗 #
76877次浏览 571人参与
# 打工人的辛酸 #
8617次浏览 134人参与
# 运营人的第一份offer应该如何选 #
35307次浏览 643人参与
# 美的求职进展汇总 #
39002次浏览 419人参与
# 如何看待offer收割机的行为 #
224156次浏览 3256人参与
# 产品实习,你更倾向大公司or小公司 #
36482次浏览 558人参与
# 数据人offer决赛圈怎么选 #
44818次浏览 727人参与
# 实习与准备秋招该如何平衡 #
171969次浏览 3113人参与
# 通信硬件薪资爆料 #
200883次浏览 1823人参与