7.23小红书笔试

第一题100%

第二题:

正解应该是按左端点排序后,从某个左端点开始往右数长度为k的区间包括的好区间的数目(前缀和实现)。但是笔试的时候我想着可能不是从某个左端点开始,可能有长度为k的区间的左端点在某个好区间中间的情况(不是该好区间的左端点或者右端点),就想出来就没继续往下写了(一开始模拟,后来发现没前途)

第三题:

p[i]代表以nums[i]为结尾的连续子数组最大和,q[i]代表以nums[i]为开头的连续子数组最大和,再循环一次nums,若nums[i] < x则将nums[i]修改后是能够使包含nums[i]的连续子数组的和变大的:

因此nums[i]的贡献为:p[i-1] + x + q[i + 1],前提是p[i-1]存在或者q[i+1]存在且x > nums[i]

笔试的时候一直卡27%,想破脑袋不知道为什么,最后考完猜测可能是long long的问题,有点坑

#小红书提前批##小红书2024##c++#
全部评论
第二题36%显示错误,但看不到错误在哪,debug了半天也没看出来哪里写的有bug…
3 回复 分享
发布于 2023-07-23 23:11 浙江
使用动态规矩,二维矩阵,第一行表示到这点时不替换的最大连续子数组,第二行表示替换
2 回复 分享
发布于 2023-07-23 22:07 北京
哥们是提前批吗
点赞 回复 分享
发布于 2023-08-01 16:43 瑞士
我想请问一下用例通过率在哪看的 笔试经验少 那天好像只点了保存没看到通过率😅
点赞 回复 分享
发布于 2023-07-25 15:48 上海
第二题到底是k区间内包含精华贴区间的个数,还是k区间内包含精华贴的个数啊,属实是没看明白
点赞 回复 分享
发布于 2023-07-24 11:41 浙江
使用int 27,改了long long 可以100
点赞 回复 分享
发布于 2023-07-24 10:50 陕西
第三题,将每个元素都换成一次x,然后求区间和最大值就行了啊。 public int maxSubArray(int[] nums, int x) { int maxSum = nums[0]; // 初始化最大和为数组第一个元素 for (int i = 0; i < nums.length; i++) { int originalNum = nums[i]; // 保存原来的值 nums[i] = x; // 将元素i替换为x int currentSum = nums[0]; // 初始化当前连续子数组的和为数组第一个元素 for (int j = 1; j < nums.length; j++) { currentSum = Math.max(currentSum + nums[j], nums[j]); // 更新当前连续子数组的和 maxSum = Math.max(maxSum, currentSum); // 更新最大和 } nums[i] = originalNum; // 恢复原来的值 } return maxSum; }
点赞 回复 分享
发布于 2023-07-23 23:21 河北
100,36,100。想问第二道有没有人a,感觉题歧义好大,一直没调出来。
点赞 回复 分享
发布于 2023-07-23 23:02 广东
第二题有用滑动窗口思想的吗
点赞 回复 分享
发布于 2023-07-23 22:46 安徽
第三个这么做怎么样? ```c++ vector<int> nums = (4, -2, -11, -1, 4,1,-1}; int x = 10; int pre = 0, maxAns = nums[o]; for (const auto &i: nums) { int pre = pre; pre = max(pre + i, i); maxAns = findMax(pre, x + _pre, maxAns); //找这三个数的最大值 } cout<< maxAns; ```</int>
点赞 回复 分享
发布于 2023-07-23 22:39 陕西
第二题前缀和会超时
点赞 回复 分享
发布于 2023-07-23 22:15 陕西
应该不是long long 的原因,我试了,不行
点赞 回复 分享
发布于 2023-07-23 22:00 湖南

相关推荐

吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
13
48
分享

创作者周榜

更多
牛客网
牛客企业服务