当前位置: 首页 > news >正文

leetcode:88. 合并两个有序数组(python3解法)

难度:简单

        给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。

        请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。

        注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。

示例 1:

输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出:[1,2,2,3,5,6]
解释:需要合并 [1,2,3] 和 [2,5,6] 。
合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。

示例 2:

输入:nums1 = [1], m = 1, nums2 = [], n = 0
输出:[1]
解释:需要合并 [1] 和 [] 。
合并结果是 [1] 。

示例 3:

输入:nums1 = [0], m = 0, nums2 = [1], n = 1
输出:[1]
解释:需要合并的数组是 [] 和 [1] 。
合并结果是 [1] 。
注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。

提示:

  • nums1.length == m + n
  • nums2.length == n
  • 0 <= m, n <= 200
  • 1 <= m + n <= 200
  • -109 <= nums1[i], nums2[j] <= 109

进阶:你可以设计实现一个时间复杂度为 O(m + n) 的算法解决此问题吗?

题解:

class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:"""Do not return anything, modify nums1 in-place instead."""del nums1[m:len(nums1)]del nums2[n:len(nums2)]nums1.extend(nums2)nums1.sort()

相关文章:

  • MySQL数据库干货_09—— MySQL中的外键约束(Foreign Key)
  • 国家开放大学期末统一测试题
  • 抖音小店怎么做?五步教你做好抖店,新手快来看!
  • 苹果最新的M3系列芯片对于大模型的使用来说未来价值如何?结果可能不太好!M3芯片与A100算力对比!
  • C#WPF嵌入字体实例
  • kali搭建docker
  • 【开题报告】基于SpringBoot的演唱会门票在线预定系统的设计与实现
  • DSP 开发例程(5): tcp_server
  • Angular-04:指令
  • Java使用OkHttp库采集电商视频简单代码示例
  • 深入理解强化学习——强化学习的历史:时序差分学习
  • FFmpeg 从视频流中抽取图片
  • H5 Vue跳转小程序
  • Nginx 的配置文件(负载均衡,反向代理)
  • linux中断下文工作队列之工作队列传参(中断七)
  • (三)从jvm层面了解线程的启动和停止
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Docker入门(二) - Dockerfile
  • DOM的那些事
  • eclipse(luna)创建web工程
  • ES学习笔记(12)--Symbol
  • Git学习与使用心得(1)—— 初始化
  • HomeBrew常规使用教程
  • IDEA常用插件整理
  • js学习笔记
  • MobX
  • node.js
  • PHP的Ev教程三(Periodic watcher)
  • Redis字符串类型内部编码剖析
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • scrapy学习之路4(itemloder的使用)
  • Spring Cloud Feign的两种使用姿势
  • VuePress 静态网站生成
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 测试开发系类之接口自动化测试
  • 给新手的新浪微博 SDK 集成教程【一】
  • 小程序开发中的那些坑
  • 原生 js 实现移动端 Touch 滑动反弹
  • 再谈express与koa的对比
  • 在Mac OS X上安装 Ruby运行环境
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​ssh免密码登录设置及问题总结
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #pragam once 和 #ifndef 预编译头
  • (6)添加vue-cookie
  • (C语言)字符分类函数
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)WCF的Binding模型
  • (二十三)Flask之高频面试点
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (十八)SpringBoot之发送QQ邮件