两个有序数组合并为一个有序数组---python
Posted 图图图图胡图图
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个有序数组合并为一个有序数组---python相关的知识,希望对你有一定的参考价值。
def merge(a, b): """ 合并2个有序数组,默认a,b都是从小到大的有序数组 """ # 1.临时变量 i, j = 0, 0 # 分别标记2个数组的起始位置 na, nb = len(a), len(b) # 分别标记2个数组的长度 temp = [] # 临时存放空间 # 2.只要2个数组不为空:比较大小a[i]a[j],依次填入temp while i <= na - 1 and j <= nb - 1: if a[i] <= b[j]: temp.append(a[i]) i += 1 else: temp.append(b[j]) j += 1 # 3.判断哪个数组还有剩余 if i <= na - 1: start = i end = na - 1 # 4.将剩余部分添加到temp中 temp.extend(a[start:end + 1]) else: start = j end = nb - 1 temp.extend(b[start:end + 1]) # 5.返回合并的新数组 return temp if __name__ ==‘__main__‘: a = [1, 2, 4, 6, 9] b = [5, 8, 10, 22] mergeArr = merge(a, b) print(mergeArr)
以上是关于两个有序数组合并为一个有序数组---python的主要内容,如果未能解决你的问题,请参考以下文章