JD 笔试 0927 大数据开发
#数据人的面试交流地##数据开发##我的秋招日记#选择题 * 30
有线代和概率论什么的,大一的我直接游龙,现在的我。。。。。。
求大佬路过给点建议 and 求赞~
编程题 * 2
T1. 给定长度为n的数组a,ai表示第i只袜子颜色的编号
问:只有不同颜色袜子能配对,最后剩几只袜子不能配对?
T2. 给定长度分别为n和m的数组a, b
ai表示第i个商品种类编号
bj表示第j种商品最少需要的数量
问:最短子区间满足对于每一种商品的数量都满足要求的区间长度
思路:
T1. 贪心
显然,只有一种袜子特别多的时候,才会剩下大量不能配队的袜子
然后考虑当所有袜子都“比较少”的情况,显然可以“互相配对”
最后考虑是否剩一个
T2. 滑窗
先枚举R作为右边界
定义remains = sum(b[1..j]) (从1开始下标,卡了我一下)
对于第R个商品,当且仅当curr[a[R]] < b[a[R]] 即现有的这种商品数量不足时
remains--
判断跑完while后是否满足要求,即remains == 0
否则输出-1
然后开始滑动窗口,先缩L,当且仅当curr[a[L]] >= b[a[L]] + 1即这种商品的数量有富余时
curr[a[L]] --
L++
然后统计答案,输出最小值即可
#我的秋招日记##应届生第一份工作最好去大厂吗?##京东##秋招白月光##京东求职进展汇总#
有线代和概率论什么的,大一的我直接游龙,现在的我。。。。。。
求大佬路过给点建议 and 求赞~
编程题 * 2
T1. 给定长度为n的数组a,ai表示第i只袜子颜色的编号
问:只有不同颜色袜子能配对,最后剩几只袜子不能配对?
T2. 给定长度分别为n和m的数组a, b
ai表示第i个商品种类编号
bj表示第j种商品最少需要的数量
问:最短子区间满足对于每一种商品的数量都满足要求的区间长度
思路:
T1. 贪心
显然,只有一种袜子特别多的时候,才会剩下大量不能配队的袜子
然后考虑当所有袜子都“比较少”的情况,显然可以“互相配对”
最后考虑是否剩一个
T2. 滑窗
先枚举R作为右边界
定义remains = sum(b[1..j]) (从1开始下标,卡了我一下)
对于第R个商品,当且仅当curr[a[R]] < b[a[R]] 即现有的这种商品数量不足时
remains--
判断跑完while后是否满足要求,即remains == 0
否则输出-1
然后开始滑动窗口,先缩L,当且仅当curr[a[L]] >= b[a[L]] + 1即这种商品的数量有富余时
curr[a[L]] --
L++
然后统计答案,输出最小值即可
#我的秋招日记##应届生第一份工作最好去大厂吗?##京东##秋招白月光##京东求职进展汇总#
全部评论
PS:
T2的a[i]可能 > m
等价于完全不需要此种商品
可以在读数时判断 if a[i] > m then a[i] = 0
因为bj数组下标从1开始,所以b[0] = 0很方便
卡了我好久
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
职场水母:说实话,都那么大人了,一点判断力都没有吗,企业是肯定不会要怀孕的人的,因为进去就休产假,是大雷,我建议是你男朋友家里有钱,让你男朋友先养你吧,你也说是男朋友,这属于未婚先孕了吧,
点赞 评论 收藏
分享