发布时间:2025-10-08 09:30:43
10.4 京东笔试,就当小兵补了吧 这周六有事一周一度的京东笔试了,每周都在做,明天继续约,京东的题目都很熟悉了,每周六都在AC的路上,这周也不会例外,简单说下9.27的两道编程思路
Q1:*在数组中找一个连续子数组,使得其中每个数值的出现次数都达到题目给定的要求,并返回满足这一条件的子数组的最小可能长度。
思路:使用双指针维护滑动窗口,右指针逐个移动并统计元素频率。当窗口内所有元素的频率都满足要求时,记录当前窗口长度,并尝试移动左指针以缩小窗口。若左指针移动后窗口仍满足条件,则更新更小的长度;否则停止移动左指针,继续扩展右边界。通过动态维护窗口内频率统计,找到满足条件的最小窗口长度。
Q2:统计数组中所有连续三元组 (a[i], a[i+1], a[i+2]) 中,三个位置上的数值不完全相同的组合数量。
思路:利用容斥原理计算。先分别统计相邻两两不同的情况数量,包括 (i, i+1) 不同、(i, i+2) 不同和 (i+1, i+2) 不同的组合数,将它们相加。由于完全相同的三元组在这三种情况中被重复计算了三次,因此需要减去 3 倍的三元组完全相同的情况数,得到满足“三个位置数值不完全相同”的三元组数量。
整体下来就十来分钟吧,单机位就找个死角拍照过来就好,写好给你没抄错就是一次过的,抄错都会帮检查,写完给详细思路,京东美团,华为,小米,阿里都没问题
#秋招笔试 #京东笔试 #笔试 #小米笔试 #华为笔试 #美团笔试 #京东秋招笔试 #算法笔试 #互联网大厂笔试 |
上一篇:秋招一定要去的央国企——成都篇