python 2.7
将两个排序的数组merge成新的排好序的数组
思路:两个排好序的数组(从小到大),定义两个指针分别指向两个数组的首部位置,定义一个空数组result
当两个数组都没遍历完:
如果a[i]>b[j],将b[j]追加到result中,j再加1
如果a[i]
#coding:utf-8
def merge(arr1,arr2):
result=[]
arr1len = len(arr1)
arr2len = len(arr2)
totallen = arr1len + arr2len
i = 0
j = 0
for index in range(totallen):
if(i<arr1len and j<arr2len):
if(arr1[i]>=arr2[j]):
result.append(arr2[j])
j = j+1
else:
result.append(arr1[i])
i = i+1
elif(j >= arr2len):
result.append(arr1[i])
i = i+1
elif(i > arr1len):
result.append(arr2[j])
j = j+1
return result
a = [1,2,3,4]
b = [2,3,4,5]
c = merge(a,b)
print(c)
方法二:
#coding:utf-8
def resort_arr(a,b)
return sort(a+b)
print(resort_arr([1,2,3,4],[2,3,4,5]))