首页 > 其他分享 >leedcode 合并两个有序数组 切片 原地修改

leedcode 合并两个有序数组 切片 原地修改

时间:2024-02-01 16:56:03浏览次数:21  
标签:对象 leedcode 列表 切片 num 数组 new nums1 nums2

使用 nums1[:m + n] = nums1_new 时,这是在原地修改 nums1 列表。
具体来说,这个语句使用切片将 nums1 中前 m + n 个元素替换为 nums1_new 中的元素。
这样做的结果是,nums1 的原始内存空间被修改,而不是创建一个新的列表对象。

使用 nums1 = nums1_new,这将创建一个新的列表对象,并让 nums1 这个变量指向这个新的对象。
原始的 nums1 列表对象将被丢弃(可能在后续的垃圾回收中被清理)。

在 Python 中,对列表使用切片和赋值,例如 nums1[:m + n] = nums1_new,是一种原地修改列表的方法。
这意味着你修改的是原始列表对象,而不是创建一个新的对象。这对于节省内存和避免不必要的对象创建是有利的。

 

class Solution:
    def merge(self, nums1, m, nums2, n) :
        """
        Do not return anything, modify nums1 in-place instead.
        """
        nums1_new=nums1[:m]
        nums2_new=nums2[:n]



        num = nums1_new+nums2_new
        num.sort()
        nums1.clear()
        for i in range(len(num)):
            nums1.append(num[i])
        print(nums1)

 

标签:对象,leedcode,列表,切片,num,数组,new,nums1,nums2
From: https://www.cnblogs.com/yyyjw/p/18001613

相关文章

  • 区间修改,单点查询的树状数组
    #include<bits/stdc++.h>#defineCLOSEios::sync_with_stdio(false);cin.tie(0);cout.tie(0)#defineendl"\n"typedeflonglongLL;constintN=1e6+10,M=N,mod=1e9+7;usingnamespacestd;inta[N],b[N],n,q;LLt[N];intlowbi......
  • 区间修改+区间查询的树状数组
    /*https://www.acwing.com/solution/content/44886/看acwing*/#include<bits/stdc++.h>#defineCLOSEios::sync_with_stdio(false);cin.tie(0);cout.tie(0)#defineendl"\n"typedeflonglongLL;constintN=1e6+10,M=N,mod=1e9+7;u......
  • 数组的度
    697.DegreeofanArray(Easy)给定一个非空且只包含非负数的整数数组nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是找到与nums拥有相同大小的度的最短连续子数组,返回其长度。示例1:输入:[1,2,2,3,1]输出:2解释:输入数组的度是2,因为元......
  • 嵌套数组
    565.ArrayNesting(Medium)Input:A=[5,4,0,3,1,6,2]Output:4Explanation:A[0]=5,A[1]=4,A[2]=0,A[3]=3,A[4]=1,A[5]=6,A[6]=2.OneofthelongestS[K]:S[0]={A[0],A[5],A[6],A[2]}={5,6,2,0}题目描述:S[i]表示一个集合,集合的第一个......
  • 后缀数组好题选讲
    CodeForces616FExpensiveStringshttps://codeforces.com/problemset/problem/616/FProblemtagsstringsuffixstructuresstrings*2700ProblemStatement给定\(n\)个字符串\(t_1,t_2,\dots,t_n\)。每个字符串有一个权值,对于\(1\leqi\leqn\),有\(t_i\)的权......
  • Java 数组
    数组数组是相同类型数据的有序集合。数组的声明和创建publicclassDemo01{//变量的类型变量的名字=变量的值//数组类型publicstaticvoidmain(String[]args){//首先声明数组变量int[]nums;//定义,首选这种intnums2[]......
  • const copyStories = [...stories] 和 let storiesToDisplay = stories.slice(); 两
    constcopyStories=[...stories]和letstoriesToDisplay=stories.slice();两种复制数组的方式,哪种更优雅?在JavaScript中,constcopyStories=[...stories](使用扩展运算符)和letstoriesToDisplay=stories.slice()都可以用来复制数组,并且都能生成一个新的数组。这两种......
  • golang 使用hex包,转换文件的16进制字符、16进制字节数组
    某些特殊情况下需要根据文件的16进制转换成字符在linux系统用vim保存一个文件,写入两行内容这是测试A这是测试B用linux的xxd命令输出文件的16进制字节数组xxd-g1-it.txtunsignedchart_txt[]={0xe8,0xbf,0x99,0xe6,0x98,0xaf,0xe6,0xb5,0x8b,0x......
  • 鸿蒙二进制数组创建
    背景c++层数据都是二进制,需要转换成arrayBuffer透传到ets层给业务使用,但是鸿蒙的使用下面两个api创建出来的二进制数组数据都是错误的。接口napi_create_arraybuffer:这个接口只能创建空的二进制数组,没办法把char的内容丢进去创建napi_create_external_arraybuffer:这个接口支持......
  • el-form的对象数组数组校验
    el-form绑定的是一个对象,但在有些时候提交的表单中会有数组数据,校验有点不符合常理例如这样的一个表单,付款方是个数组,这种怎么校验呢。上代码用的循环el-form,:model绑定循环的item,也就是数组中的单个对象,然后prop绑定参数,rules正常写,然后提交的时候,因为el-form是循环的,所......