蔚来笔试的时候遇到一个题,希望有大佬能解答一下

7.3 号参加了蔚来的笔试,
然后第二个编程题感觉有点思路,但是不太清晰
题目大概是给一个输入,仅包含A或者B,求最长的增序列的长度,在寻找过程中允许交换一次AB的位置
例:
输入:AABBAA
输出:6
解释:交换BBAA的位置,变为AAAABB,则最长增序列长度为6
大概是这样。
有没有大佬能解答一下,感谢,或者有同学交流一下,谢谢大家!
#蔚来笔试#
全部评论
ac了多少
点赞 回复 分享
发布于 2022-07-06 15:22
增序列是指,A在前B在后是吧
点赞 回复 分享
发布于 2022-07-05 21:35
兄弟你什么时候面试啊
点赞 回复 分享
发布于 2022-07-06 08:51
经过和同学们的讨论,最后思路大概是这样的,首先考虑的最长非递减子序列其实是abab或者bab,而abab其实包含了bab,所以在后面处理,我们将bab转换为0a+bab。记录每段的长度,假如b开头,那么在记录长度的序列前+0,然后以长度为4的窗划过长度序列求和,最大的求的数了。步进为2,是以ab为一个模块前进的。为了移动方便,如果长度序列为奇数,要在末尾+0,大概是这样,有不对的或者不理解的可以讨论。谢谢大家的帮忙!
点赞 回复 分享
发布于 2022-07-06 23:21
你给的示例不是交换了两次吗 还是组合交换算一次
1 回复 分享
发布于 2022-07-07 11:17
这题应该是01那题的变种吧,差分数组法来做
点赞 回复 分享
发布于 2022-07-06 09:46
请问蔚来笔试的分数结构是什么样的,有几道编程题,几道选择题呢
点赞 回复 分享
发布于 2022-07-12 16:00
总感觉力扣有原题,想不起来是哪题了
点赞 回复 分享
发布于 2022-07-12 23:41
我在一个互联网大厂的刷题群里 要进的可以私我
点赞 回复 分享
发布于 2022-08-03 16:43

相关推荐

01-02 00:50
三峡大学 Java
程序员牛肉:这简历一出手就离失业不远了。 作为一家公司来讲,我如果要招日常实习生,那我对实习生最基本的要求就是要能干活,毕竟你就待三四个月,谁会留心培养你? 那么除了院校之外,最重要的就是项目和实习了。没有实习的话项目就好好搞。 但是你说你这个项目吧:课程作业管理系统和TMS运输管理系统。这两个基本就和闹着玩差不多。 你作为一个想要应聘Java开发实习生的人,对后端的理解还仅仅停留在:“使用mapper和sql映射”,“使用SQL进行多表调用”,“基于MySQL简历表结构”,“基于Spring boot完成CURD操作”这种玩具上......... 找不到后端实习的
点赞 评论 收藏
分享
评论
3
24
分享

创作者周榜

更多
牛客网
牛客企业服务