数组88. Merge Sorted Array

题目要求

合并两个有序数组

先插入后排序

思路

把数组2插入到数组1后面,然后排序

代码

class Solution(object):
    def merge(self, nums1, m, nums2, n):
        nums1[m :] = nums2[:n]
        nums1 = nums1.sort() 

运行结果

在这里插入图片描述

反向比较

思路

从尾到头比较 nums1 和 nums2,大的数放在 nums1 的尾部,如果 nums2 中还有剩下的数,就把它们放在 nums1 的头部

代码

class Solution(object):
    def merge(self, nums1, m, nums2, n):
       i = m - 1
       j = n - 1
       k = m + n - 1
       while i >= 0 and j >= 0:
           if nums1[i] < nums2[j]:
               nums1[k] = nums2[j]
               j -= 1
           else:
               nums1[k] = nums1[i]
               i -= 1
           k -= 1
       nums1[:j + 1] = nums2[:j + 1] 

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值