给出一个整数数组A和有序的整数数组B,请将数组A合并到数组 B中,变成一个有序的升序数组
注意:
1.可以假设A数组有足够的空间存放B数组的元素,A和B中初始的元素数目分别为m和n,A的数组空间大小为m+n
2.不要返回合并的数组,返回是空的,将数组B的数据合并到A里面就好了
3.A数组在[0,m-1]的范围也是有序的
归并
class Solution:
def merge(self , A, m, B, n):
# write code here
# 使用归并排序的思路,A从m往前遍历,B从n往前遍历,将较大的值赋给A的尾部
i = m - 1
j = n - 1
while i >= 0 and j >= 0:
if A[i] <= B[j]:
A[i+j+1] = B[j]
j -= 1
else:
A[i+j+1] = A[i]
i -= 1
while j >= 0:
A[i+j+1] = B[j]
j -= 1