二分法合并K个有序数组
# 二分合并k个有序数组 nums1 = [2,3,18,23,118,283] nums2 = [4,7,8,19,26,77,1262] nums3 = [1,19,29,33,67,88] nums4 = [36,47,55,88,128,765] data = [nums1, nums2, nums3, nums4] def mergeKnums(nums): n = len(nums) return binarySelect(nums, 0, n-1) def merge2nums(nums1, nums2): if not nums1: return nums2 if not nums2: return nums1 i, j = 0, 0 result = [] while i < len(nums1) and j < len(nums2): if nums1[i] < nums2[j]: result.append(nums1[i]) i += 1 else: result.append(nums2[j]) j += 1 return result def binarySelect(nums, left, right): if left == right: return nums[left] mid = left + (right-left)//2 print(left, mid, right) nums1, nums2 = binarySelect(nums, left, mid), binarySelect(nums, mid+1, right) return merge2nums(nums1, nums2) merge2nums(nums1, nums2) mergeKnums(data)
时刻记着自己要成为什么样的人!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2020-02-13 反欺诈系统设计过程中的对策与思考
2019-02-13 tensorflow中的tf.app.run()的使用