Alibaba笔试标题妙解

作者: 全球彩票app苹果版  发布:2019-10-17

阿里Baba(Alibaba)有如下的笔试标题:

有三个美妙的数组,在这之中的第i个因素在排序之后的职位放在[i-k, i+k]里头(k序的).试写算法把多个k序数组排序,必要最快.

解法,

明白有以下多少个子种类:

X[0], X[k+1], X[2(k+1)],  X[3(k+1)]......

X[1],X[k+1+1],X[2(k+1)+1],X[3(k+1)+1]......

........................

X[k],X[k+1+k],X[2(k+1)+k],X[3(k+1)+k]......

那k+1个子种类是早已排序好的,剩下的天职是把其归并

有三种方法:

方法一,

习认为常的merge,与把三个数组归并一样的想想,则复杂度为O(nk)

方法二

用败者树,则统一二个要素要LogK的岁月,合并n个成分要O(nlogk)的小时

解完.

图片 1

本文由全球彩票历史版本发布于全球彩票app苹果版,转载请注明出处:Alibaba笔试标题妙解

关键词: