关注
3、给一个由大小写字母组成的字符串,每次删除一个最长的且最左侧的一个连续子串(需要由相同字母构成),求最小删除次数。模拟题,暴力模拟是O(n^2),据说这题暴力是可以AC的。一种低复杂度解法是把连续的部分组织成链表,比如aBBa变成 (a, 1) -> (B, 2) -> (a, 1) 这样,链表的好处是可以很快地删除并且合并两个端点。现在问题就是怎么找最长的那一个部分(比如之前的例子就是(B, 2))。可以考虑用线段树维护最大值,然后通过二分的形式把最大且最左的那一个部分给找出来。找出来之后更新链表,然后同时更新线段树。复杂度O(nlog^2n)。
4、给一个正整数组成的列表,找出一个长度不小于m的子段使得其中平均值最大。暴力据说可以骗不少分。首先区间和转前缀和,设前缀和为S[i],那么平均值就是(S[r] - S[l]) / (r - l)。给定一个平均值k,另(S[r] - S[l]) / (r - l) >= k 则有 S[r]-kr >= S[l]-kl。这样给定k,我们可以很快地找出满足上式成立的最大区间长度 t=r-l,而t关于k是单调的。这样二分答案k,然后对于每一个k找出这个t,如果t<m说明k找大了,就二分左半区间,否则二分右半区间。由于这个找t的过程需要算一个前缀最小值并且在其中二分,复杂度就是O(nlog^2n)。
查看原帖
2 1
相关推荐
查看21道真题和解析 点赞 评论 收藏
分享
02-24 00:21
安徽理工大学 游戏前端
不会做题的小熊:我感觉我就算是找不到工作,我也不会作弊进去,作弊进去感觉一方面是自己不踏实,其次就是都靠作弊了,那后面肯定工作的心态是不一样的,没有一种内驱力。 点赞 评论 收藏
分享
02-08 00:07
门头沟学院 网络安全 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 交出你的校招焚诀 #
11167次浏览 184人参与
# 公司情报交流地 #
144685次浏览 1275人参与
# 神州信息求职进展汇总 #
3716次浏览 69人参与
# 实习生至暗时刻 #
19236次浏览 373人参与
# 27届求职交流 #
3451次浏览 94人参与
# 面试___岗的必刷题单 #
12893次浏览 231人参与
# 26届求职交流 #
2962次浏览 68人参与
# 你的秋招第一面感觉怎么样 #
140636次浏览 806人参与
# 三月的小目标 #
12206次浏览 217人参与
# 经纬恒润求职进展汇总 #
153302次浏览 1080人参与
# 哪些公司开暑期实习了? #
18595次浏览 149人参与
# AI面试问题分享 #
14059次浏览 284人参与
# 米哈游求职进展汇总 #
585531次浏览 3013人参与
# 春招开局,你有保底offer吗? #
26526次浏览 210人参与
# 你经历过哪些AI幻觉? #
5140次浏览 120人参与
# 找AI工作应该卷什么? #
4316次浏览 77人参与
# 实习想申请秋招offer,能不能argue薪资 #
225070次浏览 1196人参与
# 字节开奖 #
130952次浏览 604人参与
# 实习生的生存小技巧 #
7138次浏览 114人参与
# 24届的你们现状如何了? #
112595次浏览 523人参与
# 硬件人的简历怎么写 #
329768次浏览 3089人参与
