米哈游10.26开发D卷
第一题匹配目标子串最小操作次数,暴力
第二题最小区间长度,
令(max+len*k)>(min+d)初始化len,len每次加一,遍历nums数组,找到符合条件的nums[i],使得(nums[i]+len*k)>(min+d)&&(保证区间不包含最小值位置以及区间最右侧不溢出),输出len
通过25%,超时没时间看了
第三题简单看了一下题没来得及做
凉凉,欢迎大佬分享思路
#米哈游笔试#
        第二题最小区间长度,
令(max+len*k)>(min+d)初始化len,len每次加一,遍历nums数组,找到符合条件的nums[i],使得(nums[i]+len*k)>(min+d)&&(保证区间不包含最小值位置以及区间最右侧不溢出),输出len
通过25%,超时没时间看了
第三题简单看了一下题没来得及做
凉凉,欢迎大佬分享思路
#米哈游笔试#
全部评论 
 
第二题,由于是递增,而增加的长度是(r-i+1 )* k,与l无关,那么显然,从后往前遍历看增加后是否比a[1]大即可。
对于如果a[1]也要增加,要特殊处理。之前从后往前遍历时,记录+(r-i+1 )* k后的最小值minV,然后a[1] + (r-i+1 )* k - minV,判断是否比d大即可。线性复杂度。
我倒是给忘记还有笔试了,不知道会不会顺延下一批
第二题因为是递增的,而且增加的是k*(r-i+1),和l是没有关系的,所以直接让r固定在最大位置就可以了,也就是r直接固定在最后一个元素的位置,然后l从r的位置往回遍历到第二个元素,满足直接return就可以了,主要是r的选择需要先确定好,后面代码本质还是暴力,第三题我的想法是左右前序遍历,然后直接在数组中找值,但是时间不够了,不知道A两道能不能过
第三题dfs即可,动态写了份代码,赛后写出来了,赛时写到一半,有一个小细节错误赛后才发现。不知道赛后写的对不对。
第二题想到的二分  但check函数复杂度太高了  没写出来O(n)的  也是过了25%,  交卷问AI说可以用二分+滑动窗口
相关推荐
 点赞 评论 收藏   
分享
  点赞 评论 收藏   
分享
  360集团公司氛围 355人发布
360集团公司氛围 355人发布 投递哔哩哔哩等公司10个岗位
投递哔哩哔哩等公司10个岗位