暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

合并两个有序数组

三木小小推 2019-08-24
255


微信公众号:三木小小推[1]
系列:刷题之Python
如果你觉得该系列对你有帮助,欢迎点好看[2]

问题描述

给定两个有序整数数组 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):
        """
        Do not return anything, modify nums1 in-place instead.
        """

        nums = nums1
        nums1 = sorted(nums[:m])
        nums2 = sorted(nums2)
        i = 0
        while (len(nums2) and len(nums1)) > 0:
            if nums1[0] <= nums2[0]:
                nums[i] = nums1.pop(0)
            else:
                nums[i] = nums2.pop(0)
            i += 1
        if len(nums1) == 0:
            nums[i:] = nums2
        else:
            nums[i:] = nums1

        nums1 = nums

欢迎订阅

下面是三木小小推的二维码,欢迎订阅呦~~

你点的每个好看,我都认真当成了喜欢
文章转载自三木小小推,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论