合并两个有序数组python_Leetcode 88.合并两个有序数组(Python3)

88. 合并两个有序数组

给定两个有序整数数组 nums1和 nums2,将 nums2合并到 nums1中,使得 num1成为一个有序数组。

说明:

初始化 nums1 和 nums2 的元素数量分别为 m 和 n。

你可以假设 nums1有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。

示例:

输入:

nums1 = [1,2,3,0,0,0], m = 3

nums2 = [2,5,6], n = 3

输出: [1,2,2,3,5,6]

思想:归并排序的思想,并且倒叙插入

代码:

class Solution:

def merge(self, nums1, m, nums2, n):

"""

:type nums1: List[int]

:type m: int

:type nums2: List[int]

:type n: int

:rtype: void Do not return anything, modify nums1 in-place instead.

"""

while m > 0 and n > 0 :

if nums1[m-1] < nums2[n-1]:

nums1[m + n - 1] = nums2[n-1]

n -= 1

else:

nums1[m + n - 1] = nums1[m-1]

m -= 1

if n > 0:

nums1[:n] = nums2[:n]

return nums1

你可能感兴趣的:(合并两个有序数组python)