蚂蚁笔试0912(java开发)
第一题:字符串,每个字母代表一种颜色,每次询问 需要将区间[l,r]染成相同的颜色,至少需要修改多少个字母。
每次用哈希做报超时。
改为动态规划做,整体遍历后直接随机存取,空间复杂度n^2,然后超内存。
最终过0.2。难受
。
第二题:数组初始为0,第i次操作把【l,r】的区间数字全变为i。给一个数组结果,输出每次操作的【l,r】区间。 遍历一遍拿到i的左右边界,如果不存在说明这个数字后续又被覆盖了,则用它后续边界值的子集代替。考虑到第m个数字是一定出现了的,我这里直接用第m个的边界子集代替。结果过了0.2。
第三题:求长度最大的不同回文子串的数量,一直在debug前面的题。来不及做了,没看。
目前感觉秋招笔试最难的一场,不是超时就是超内存。只过了0.4感觉是完蛋了。顺便蹲下大佬的答案。
每次用哈希做报超时。
改为动态规划做,整体遍历后直接随机存取,空间复杂度n^2,然后超内存。
最终过0.2。难受
第二题:数组初始为0,第i次操作把【l,r】的区间数字全变为i。给一个数组结果,输出每次操作的【l,r】区间。 遍历一遍拿到i的左右边界,如果不存在说明这个数字后续又被覆盖了,则用它后续边界值的子集代替。考虑到第m个数字是一定出现了的,我这里直接用第m个的边界子集代替。结果过了0.2。
第三题:求长度最大的不同回文子串的数量,一直在debug前面的题。来不及做了,没看。
目前感觉秋招笔试最难的一场,不是超时就是超内存。只过了0.4感觉是完蛋了。顺便蹲下大佬的答案。
全部评论

第二题我a了,就是正序遍历一次找合适结果,再倒叙遍历把没出现的数的范围设置成下一个出现了的数的范围,确保下一个范围都能覆盖上一个范围
第一题用26n复杂度过了,前缀和思想,还要开快读才能a,第二题是反向思维a掉了第三题组合数学没整出来过了2.2😂
第二题我也是同样的方法,找到1-m的左右边界,没找到这个数就设置输出00了,结果提交0%
我也是,心态炸了,死活做不出来
有没有leetcode类似的题,想复盘一下,太恶心了
哈希表是时间复杂度为nm吧不懂为什么超时
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享

点赞 评论 收藏
分享