【每日一题】【LeetCode】【第八天】【Python】合并两个有序数组

文章讲述了在Python中解决数组合并并排序的问题。作者首先尝试了直接合并后再排序的方法,但测试未通过。然后采用了循环替换的方式,从下标m开始将nums2中的元素逐个插入nums1,最后排序,此方法成功解决了问题。
摘要由CSDN通过智能技术生成

解决之路= =

题目描述

在这里插入图片描述

在这里插入图片描述

测试案例(部分)

在这里插入图片描述

第一次

就。。。很简单啊

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

但是测试结果是错的。

在这里插入图片描述
自己测试是对的

在这里插入图片描述

emmm,搞不懂,可能是不给这样太简单的解决。
还是老老实实循环一个一个换吧。

第二次

那老老实实用下标来定位,很容易得出nums1中需要换的0nums2中每个元素的对应关系(差个m),所以用一个循环,从下标m开始,一个一个换掉就可以了。

class Solution(object):
    def merge(self, nums1, m, nums2, n):
        for i in range(m, m + n):
            nums1[i] = nums2[i-m]
        nums1.sort()

测试没问题,提交,通过了。

在这里插入图片描述
今天好简单啊。。。结束!

附件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值