Merge K Sorted Array

Merge K sorted array into one big sorted array in ascending order.

Assumptions

The input arrayOfArrays is not null, none of the arrays is null either.

import heapq
class Solution(object):
  def merge(self, arrayOfArrays):
    heap = []
    for i in xrange(len(arrayOfArrays)):
      if len(arrayOfArrays[i]):
        heap.append((arrayOfArrays[i][0],i,0))
    heapq.heapify(heap)
    res = []
    while heap:
      val,index,element = heapq.heappop(heap)
      res.append(val)
      if element + 1 < len(arrayOfArrays[index]):
        heapq.heappush(heap,(arrayOfArrays[index][element + 1],index,element + 1))
    return res
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 8,123评论 0赞 10
  • 1.priority queue nlogk merge sort nlogk
    greatseniorsde阅读 188评论 0赞 0
  • 沉默的心痛 题记:很久没有和很多好友联系,甚至在内心中不停的责备自已,记忆力似乎越来越差起来。我游走在城市...
    鹰叔阅读 369评论 0赞 2
  • 天越来越冷了,宝宝越来越大了,哄睡不是那么容易,因为他还不想睡,自作多情的我觉得他其实想让爸爸妈妈再多陪他看一会儿...
    岸兰汀芷阅读 348评论 0赞 0
  • 姐姐提着一盏灯,我抱着儿子走在她旁边,夜幕下,我们在一座荒城的上方穿行着,走过一座座高楼的楼顶! ...
    西城西月阅读 292评论 0赞 0

友情链接更多精彩内容