Leetcode. 88合并两个有序数组
合并两个有序数组
文章目录
- 归并
- 思路二
归并
核心思路: 依次比较,取较小值放入新数组中
i 遍历nums1 , j 遍历nums2 ,取较小值放入nums3中
那如果nums[i] 和nums[j]中相等,随便放一个到nums3


那如果nums[i] 和nums[j]中相等,随便放一个到nums3



此时 nums1 中的元素已经走完了,那么直接把 nums2 中剩下的元素拿到 nums3 中去,
因为nums2 是有序数组 ,所以不需要考虑 nums2剩下的元素比nums3小

这总方法最大的问题就是新开辟了一个数组 如果题目要求空间复杂度为O(1) ,这种方法就不管用了
思路二
归并依次比较取较小值 ,但是思路二是依次比较取较大值
思路二和归并大体上相似 ,
思路二整体思路:
i 指向nums1最后一个有效元素 ,向前遍历 ,
j 指向nums2最后一个有效元素 ,向前遍历
dst指向nums1 的最后一个元素 ,也是向前遍历
j 指向的元素如果大于 i 指向的元素,那么就把 j 指向的元素放入 dst 指向的位置中去





当j 向前遍历完nums2时 ,我们直接让它结束就行了
但是还需要多考虑一种情况

当nums1中的每一个元素都比nums2中的每一个元素大 ,nums1 一定会先遍历完 ,这时候就需要将nums2 的每一个元素提前放入nums1中
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
{int i = m -1 ;int j = n- 1 ;int dst = m + n -1 ;while( i >=0 && j >= 0){//nums2先走完 , j < 0 if( nums1[i]>= nums2[j]) //取较大值{nums1[dst] = nums1[i];dst-- ;i--;}else{nums1[dst]=nums2[j];dst--;j--;}}// nums1 先走完 , i < 0 while( j>=0 ){nums1[dst] = nums2[j];j -- ;dst -- ;}
}
如果你觉得这篇文章对你有帮助,不妨动动手指给点赞收藏加转发,给鄃鳕一个大大的关注
你们的每一次支持都将转化为我前进的动力!!!
相关文章:
Leetcode. 88合并两个有序数组
合并两个有序数组 文章目录归并思路二归并 核心思路: 依次比较,取较小值放入新数组中 i 遍历nums1 , j 遍历nums2 ,取较小值放入nums3中 那如果nums[i] 和nums[j]中相等,随便放一个到nums3 那如果nums[i] 和nums[j]中相…...
【数据库】数据库查询(进阶命令详解)
目录 1.聚合查询 1.1聚合函数 COUNT函数 SUM函数 AVG函数 MAX函数 MIN函数 1.2GROUP BY子句 1.3HAVING 2.联合查询 2.1内连接 2.2外连接 2.3自连接 2.4子查询 3.合并查询 写在前面: 文章截图均是每个代码显示的图。数据库对代码大小写不敏感&am…...
参数缺省和函数重载讲解
一路风雨兼程磨砺意志,三载苦乐同享铸就辉煌 目录 1.参数缺省的概念 2.参数缺省的用法 3.缺省参数分类 3.1.全缺省参数 3.2.半缺省参数 4.函数重载的概念 5.函数重载的用法 6.函数重载的原理 1.参数缺省的概念 一般情况下,函数调用时的实参个数应…...
关于召开2023第八届国际发酵培养基应用发展技术论坛的通知
生物发酵培养基是影响产业技术水平、环境友好程度的重要影响因素,为进一步实现生物发酵培养基的稳定可控、高效生产以及绿色安全,进一步推动生物技术的创新升级、绿色低碳循环生产,需要加强跨界联合,集中优势力量,突破…...
Java之深度优先(DFS)和广度优先(BFS)及相关题目
目录 一.深度优先遍历和广度优先遍历 1.深度优先遍历 2.广度优先遍历 二.图像渲染 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 三.岛屿的最大面积 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 四.岛屿的周长 1.题目描…...
【链表OJ题(四)】反转链表
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录链表OJ题(四)1. 反转…...
java ArrayList源码分析(深度讲解)
ArrayList类的底层实现ArrayList类的断点调试空参构造的分步骤演示(重要)带参构造的分步骤演示一、前言大家好,本篇博文是对单列集合List的实现类ArrayList的内容补充。之前在List集合的万字详解篇,我们只是拿ArrayList演示了List…...
【网络编程】零基础到精通——NIO基础三大组件和ByteBuffer
一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 st…...
操作系统 - 1. 绪论
目录操作系统基本概念概念特征功能操作系统的分类与发展手工操作单道批处理系统多道批处理系统分时系统实时系统操作系统的运行环境CPU 运行模式中断和异常的处理系统调用程序的链接与装入程序运行时内存映像和地址空间操作系统的体系结构操作系统的引导操作系统基本概念 概念…...
详谈parameterType与resultType的用法
resultMap 表示查询结果集与java对象之间的一种关系,处理查询结果集,映射到java对象。 resultMap 是一种“查询结果集---Bean对象”属性名称映射关系,使用resultMap关系可将将查询结果集中的列一一映射到bean对象的各个属性&#…...
【Linux】进程概念、fork() 函数 (干货满满)
文章目录📕 前言📕 进程概念📕 Linux下查看进程的两种方法方法一方法二📕 pid() 、ppid() 函数📕 fork() 函数、父子进程初识再理解📕 fork做了什么📕 如何理解 fork 有两个返回值📕…...
【动态规划】最长上升子序列、最大子数组和题解及代码实现
Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...
Ajax进阶篇02---跨域与JSONP
前言❤️ 不管前方的路多么崎岖不平,只要走的方向正确,都比站在原地更接近幸福 ❤️Ajax进阶篇02---跨域与JSONP一、Ajax进阶篇02---跨域与JSONP(1)同源策略1.1 什么是同源1.2 什么是同源策略(2)跨域2.1 什…...
C 语言编程 — 线程池设计与实现
目录 文章目录目录线程池(Thread Pool)tiny-threadpool数据结构设计Task / JobTask / Job QueueWorker / ThreadThread Pool ManagerPublic APIsPrivate Functions运行示例线程池(Thread Pool) 线程池(Thread Pool&am…...
并发编程要点
Java并发编程中的三大特性分别是原子性、可见性和有序性,它们分别靠以下机制实现: 原子性:原子性指的是对于一个操作,要么全部执行,要么全部不执行。Java提供了一些原子性操作,例如AtomicInteger等…...
HDFS黑名单退役服务器
黑名单:表示在黑名单的主机IP地址不可以,用来存储数据。 企业中:配置黑名单,用来退役服务器。 黑名单配置步骤如下: 1)编辑/opt/module/hadoop-3.1.3/etc/hadoop目录下的blacklist文件 添加如下主机名称&…...
基于stm32智能语音电梯消毒系统
这次来分享个最近做的项目,stm32智能语音电梯消毒系统功能说明:在电梯,房间,客道区域内,检测到人,则执行相关动作!例如继电器开关灯,喷洒酒精等行为。手机app/微信小程序可以控制需要…...
FreeRTOS系列第1篇---为什么选择FreeRTOS?
1.为什么学习RTOS? 作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目,还没复杂到使用RTOS的地…...
基于.NET Core内置浏览器窗体应用程序界面框架
更多开源项目请查看:一个专注推荐.Net开源项目的榜单 平常我们在做项目过程中,桌面软件具备操作高效、利用本地计算机做一些复杂运算、或者设定快捷操作等优势,但是桌面软件也有很多缺点,比如升级问题、系统兼容问题、系统bug排查…...
【数据结构初阶】一文带你学会归并排序(递归非递归)
目录 前言 递归实现 代码实现 非递归实现 代码实现 总结 前言 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 作为一种典型的分而治之思想…...
2026年的具身智能:不再“讲故事”,而是拼“分数”?
作者:刘致呈编辑:Evin审核:徐徐出品:互联网江湖最近,具身智能行业发生了两件大事:一是行业标杆——宇树科技要IPO了。二是中国信息通信研究院联合40余家单位共同起草的具身智能领域首个行业标准,正式发布了…...
OpenFOAM字典文件关键配置实战指南
1. OpenFOAM字典文件基础认知 第一次接触OpenFOAM的朋友,看到满屏幕的字典文件可能会有点懵。这玩意儿就像乐高积木的说明书,告诉你每个零件该怎么拼。我刚开始用的时候,经常把blockMeshDict和snappyHexMeshDict搞混,结果生成的网…...
C语言入门避坑指南:从雨课堂高频错题解析编程新手常见误区
C语言入门避坑指南:从雨课堂高频错题解析编程新手常见误区 刚接触C语言时,很多同学会被看似简单的语法规则绊倒。那些在课堂上反复强调的细节,往往成为考试中最容易丢分的陷阱。本文将结合电子科技大学《程序设计与算法基础I》课程的真实错题…...
手把手教你用Global Mapper搞定大范围遥感影像:从按县界裁剪到自动切片分发的完整流程
大范围遥感影像工程化处理实战:Global Mapper全流程解决方案 当面对覆盖全省的Sentinel-2影像时,大多数GIS工程师的第一反应可能是打开QGIS或ArcGIS Pro,配合GDAL命令行工具完成从裁剪到分发的全流程。但今天我要分享的是一条更高效的路径——…...
MTK手机屏显干扰全解析:亮灭屏、射频干扰与TP失灵,我是如何用PLL_CLOCK和Porch参数解决的
MTK手机屏显干扰全解析:亮灭屏、射频干扰与TP失灵实战解决方案 引言:当屏幕开始"跳舞"——移动设备显示异常背后的复杂世界 那块6.5英寸的OLED屏幕又一次在通话过程中突然闪烁起来,像被无形的幽灵操控着。作为MTK平台驱动开发工程师…...
GLM-4.1V-9B-Base实战案例:智能客服知识库图片问答模块集成方案
GLM-4.1V-9B-Base实战案例:智能客服知识库图片问答模块集成方案 1. 项目背景与需求分析 在智能客服系统中,用户经常需要上传产品图片、使用场景截图或问题示意图进行咨询。传统客服系统只能依赖人工处理这类图片咨询,效率低下且成本高昂。G…...
Landsat8温度反演结果不准?可能是这5个参数没搞对(ENVI实战经验分享)
Landsat8温度反演精度提升:5个关键参数优化与ENVI实战解析 当你在深夜盯着屏幕上那些明显偏离预期的温度反演结果时,是否曾怀疑过ENVI软件出了问题?事实上,90%的温度反演误差都源于几个关键参数的设置不当。作为一位经历过数十个遥…...
SeqGPT-560M智能客服问答系统部署指南
SeqGPT-560M智能客服问答系统部署指南 1. 引言 想象一下这样的场景:你的电商平台每天收到上千条客户咨询,从"这个衣服有货吗"到"怎么申请退货",问题五花八门。传统客服需要一个个手动回复,效率低下还容易出…...
如何编写全面的golang-lru单元测试:覆盖所有边界条件的完整指南
如何编写全面的golang-lru单元测试:覆盖所有边界条件的完整指南 【免费下载链接】golang-lru Golang LRU cache 项目地址: https://gitcode.com/gh_mirrors/go/golang-lru 在Go语言开发中,缓存是提升性能的关键组件,而golang-lru作为一…...
深度解析:Element Plus架构设计与实现原理
深度解析:Element Plus架构设计与实现原理 【免费下载链接】element-plus 🎉 A Vue.js 3 UI Library made by Element team 项目地址: https://gitcode.com/GitHub_Trending/el/element-plus Element Plus作为Vue.js 3生态中最具影响力的企业级UI…...

