002_入门_python练习题:合并两个升序的整数数组A和B

#002:合并两个升序的整数数组A和B,形成一个新的数组,新数组也要有秩序
#输入A=[1],B=[1],输出[1,1],返回合并后的数组,输入A=[1,2,3,4],B=[2,4,5,6],输出[1,2,2,3,4,4,5,6]

#解题的思路是:将A和B数组内的元素一一拿出来对比,因为所给出的A和B的数组是个升序数组
#首先我们要判断A,B是都为非空数组的情况
#再判断A为非空数组的情况,B为空数组的情况
#最后判断A为空数组的情况,B为非空数组的情况

class Solution:
    '''
    建立一个升序数组A
    建立一个升序数组B
    返回一个升序的数值C
    '''
    def mergSortedArray(self,A,B):
        C=[]
        i=0
        j=0
        while i<len(A) and j<len(B):   #判断A,B是都为非空数组的情况 
            if A[i]<B[j]:
                C.append(A[i])
                i += 1
            else:
                C.append(B[j])
                j += 1
        while i<len(A):                #判断A为非空数组的情况,B为空数组的情况
            C.append(A[i])
            i += 1
        while j<len(B):               #最后判断A为空数组的情况,B为非空数组的情况
            C.append(B[j])
            j += 1
        return C

A=[1]
B=[1]
D=[1,2,3,4]
E=[1,2,2,3,4,4,5,6]
solution=Solution()

print("input:",A)
print("input:",B)
print("output:",solution.mergSortedArray(A,B))

print("input:",D)
print("input:",E)
print("output:",solution.mergSortedArray(D,E))

input: [1]
input: [1]
output: [1, 1]
input: [1, 2, 3, 4]
input: [1, 2, 2, 3, 4, 4, 5, 6]
output: [1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 6]      


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容