微信公众号:三木小小推[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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




