7.23 小红书提前批笔试

20道选择题,单选夹杂多选;
3道编程题,如下
1. 忘了 100%
2. 给定区间,标记其多个不重合子区间中的元素,再给整数k,问长度为k的子区间中最多有多少个被标记的元素。36%
我的思路是用数组记录整个区间,没标记的设为0,标记的设为1,然后求前缀和,那么索引差值为k的两个前缀和的差,就是这个子区间的被标记的元素数量,所以遍历前缀和,找到最多标记元素的子区间,就可返回最多标记元素的数量。
只拿了36%,然后自己写测试数据,发现用数组记录整个区间内存会超,因为区间最大长度是1000000000,然后尝试用一个位来表示一个元素,整个struct,但我没搞出来
3. 给出数组和一个值x,求将数组中的某个数换成x后,可得的最大连续子数组和。 27%
我的思路是将数组中的每个位置都换成x试一试,找出最大连续子数组和,但超时了。感觉不能每个位置都试一试,应该有什么确定这个位置的方法,但我没想出来

#小红书信息集散地#
全部评论
第三题双重dp,一个不改成x的dp数组,一个必改成x的dp数组。1题和3题秒了,第二题那这破玩意我看了一小时骗个9%😅
点赞 回复 分享
发布于 2023-07-23 21:59 黑龙江
第二题思路一样,怎么都是36%
点赞 回复 分享
发布于 2023-07-23 21:53 北京
第三题可以每个位置都试一下,但是暴力做***重复计算一部分,因此需要维护一下每个位置包含当前元素但不包含后面元素的最大和,以及反过来包含当前元素但不包含前面元素的最大和。最后遍历每个位置,分类判断下这个修改会如何影响就好了。
点赞 回复 分享
发布于 2023-07-23 21:29 浙江
蹲蹲第三题怎么确定位置 我也像你这么写的 原来会超时
点赞 回复 分享
发布于 2023-07-23 21:26 北京
怎么看过了多少,测试用例不是自己输入吗
点赞 回复 分享
发布于 2023-07-23 21:25 安徽

相关推荐

bg 为 985 本应届生,方向是嵌入式软件。纠结了很久,两边都不太了解,恳请各位大佬帮选,非常感谢🙏。
ResourceUtilization:求稳海能达,趁着年轻赚它一笔就relink吧,有个疑惑,怎么睿连同岗位多这么多base原因吗
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客企业服务