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++#