LeetCode 88. 合并两个有序数组

LeetCode 88 - 合并两个有序数组 是非常基础的数组操作题目,考察双指针、逆序操作和空间优化等技巧。这个问题相当经典,对后续的归并排序、多指针问题、双数组相关问题都有指导意义。以下是详细的解法、模板与变体问题讲解。给定你两个有序整数数组nums1和nums2,以及两个非负整数m和n,表示分别代表数组nums1和nums2中的有效元素个数。将nums2中的所有元素合并到nums1中,使数组变为一个有序数组。 阅读详情

原文java解法
原文有一点错误,就是在while循环的时候条件错误
&&应该改成||
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中*,*使 nums1 成为一个有序数组。
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3

输出: [1,2,2,3,5,6]

#include <iostream>
using namespace std;

int main()
{
	int a[6] = { 1,2,3,0,0,0 };
	int b[3] = { 2,5,6 };
	int len2 = sizeof(b) / sizeof(b[0]) - 1;
	int len1 = sizeof(a) / sizeof(a[0]) - len2 - 2;//两个指针 len1  len2
	int total = sizeof(a) / sizeof(a[0]) - 1;
	while (len1 > 0 || len2 > 0)
	{
		if (b[len2] >= a[len1])
			a[total--] = b[len2--];
		else
			a[total--] = a[len1--];
	}
		for (int i = 0; i < 6; i++)
			cout << a[i] << " ";
		return 0;
	}

【简单】力扣算法题解析LeetCode88:合并两个有序数组 合并两个有序数组的算法题解:使用双指针从后向前填充,避免覆盖元素。核心思路是比较nums1和nums2末尾元素,将较大者放入nums1尾部,处理剩余元素后即可完成合并。时间复杂度O(m+n),空间复杂度O(1)。提供Java实现代码,适用于非递减数组的原地合并。 阅读详情

相关推荐

OpenCode:开源代码智能代理平台的全面解析

OpenCode是一个开源代码智能代理平台,采用模块化微服务架构,支持多种AI模型集成。该系统包含前端交互层、代理服务层和模型集成层,提供Build、Plan和General三种代理模式,分别负责代码编写、分析和复杂任务处理。OpenCode支持跨平台安装,具备权限验证、上下文感知等安全机制,并集成LSP协议实现深度代码理解。相比竞品,其开源特性、终端优先设计和提供商无关架构具有明显优势,适用于个人开发、团队协作等多种场景,为开发者提供强大的AI辅助编程能力。

Aaron_945的博客 1423

[力扣LeetCode]88-合并两个有序数组

[力扣LeetCode]88-合并两个有序数组

JoeyTanHDU的博客 595

VSCode+ESP-IDF开发环境搭建:从零开始创建你的第一个物联网项目(2024最新版)

本文详细介绍了如何在2024年使用VSCode和ESP-IDF搭建物联网开发环境,从零开始创建第一个物联网项目。内容包括环境准备、ESP-IDF配置、项目创建与结构解析、构建烧录步骤以及高级技巧和常见问题解决方案,帮助开发者快速上手ESP32开发。

weixin_29165725的博客 330

力扣简单题系列:合并两个有序数组(LeetCode 88)

这道题通过双指针法,高效地将两个有序数组合并为一个有序数组。对于初学者来说,掌握双指针的思想是解决类似问题的关键。

weixin_53910667的博客 794

海康工业相机使用:常见问题及解决方法

工业相机在使用过程中,经常会因为操作不当、使用环境不当等原因出现一些问题,本篇教程,主要针对海康工业相机常见问题及其定位方法做以简单介绍,希望可以帮助大家。 注:该教程对其他品牌工业相机“常见问题”排查,也具备一定的指导意义。 当出现无法通过客户端发现设备或者无法预览图像等问题,先确认当前的运行环境是否满足以下要求: 确认装有相机驱动软件的电脑网卡为千兆网卡(Gige接口相机); 确认网卡是否已开启巨型帧; 确认电脑与网口相机之间的网络链路为千兆; 确认装有相机驱动软件的USB接口为3...

Cche的博客 3万+

Hierarchical Flow Partition(Top-down&&Bottom-up)

hierarchy flow是将设计切分成多个block,分别处理单个block,然后完成后,将它们进行拼接以完成最终的chip。一般划分为三个阶段:chip planning;physical budget就是pin assignmenthierarchy flow实现的方法有两种,一种是top-down,另一种是bottom-up,无论是哪种,都是都要通过flatten的方法分别全局范围进行优化实现。

qq_39493558的博客 3062

力扣每日一道系列 --- LeetCode 88. 合并两个有序数组

LeetCode 88. 合并两个有序数组 思路1:暴力求解 思路二:原地合并 如果大家有什么疑问可以在评论区与我讨论,或者直接私信我,感谢大家的阅读哦 ~

深入解析C/C++编程技巧,带你探索高效开发之路 2644

大整数因数分解工具——yafu

可以将大整数放在一个新建文件中——data.txt,最后面一定要换行,不然会出现eof;done processing batchfile,运行命令。2.点击设置——系统——系统信息——高级系统设置——环境变量——点击PATH(上下都可以)——新建 添加yafu-x64.exe 所在路径——点击确定。,如果整数数过长,会出现错误mismatched parens;1.找到yafu-x64.exe 所在的文件路径。如果出现以下图像,说明配置成功。3.打开cmd,输入。

l2ohvef的博客 6156

力扣 P88 合并两个有序数组

力扣 P88 合并两个有序数组 题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0...

hyj1109421943的博客 340

STM32 FATFS文件系统按行读取SD卡数据

STM32 SD数据实现按行读取

qq_32216815的博客 7824

ZYNQ PS裸机开发RS485

RS485 是一种通用的通信标准,广泛用于数据采集和控制应用中。它的主要优点之一是它允许将多个 RS485 设备放在同一条总线上,这使得多个节点可以相互连接。RS-485是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准(balanced transmission standard),EIA一开始将RS(Recommended Standard)做为标准的前缀,不过后来为了便于识别标准的来源,已将RS改为EIA/TIA。

baidu_34971492的博客 829

LeetCode 力扣 88. 合并两个有序数组

题目描述(简单难度) 给两个有序数组,把第二个数组合并到第一个数组中,保持有序。可以注意到第一个数组已经为我们多开辟了第二个数组所需要的空间。 解法一 直接法 简单粗暴,nums1 作为被插入的数组,然后遍历 nums2。用两个指针 i 和 j ,i 指向 nums1 当前判断的数字,j 指向 num2 当前遍历的数字。如果 j 指向的数字小于 i 指向的数字,那么就做插入操作。否则的话后移 i...

wind_liang的博客 973

数据仓库从明细到汇总:DWD与DWS层建模实战指南

DWS层的“主题”是指业务分析的核心场景,通常分为“用户主题、商品主题、订单主题、营销主题”等。主题的定义需紧密结合业务需求,避免“为了汇总而汇总”。例如,电商平台的核心业务需求包括“用户活跃度分析”“商品销售情况分析”“订单转化分析”,对应的DWS层主题即可定义为“用户主题汇总表”“商品主题汇总表”“订单主题汇总表”。主题定义时需注意“粒度适中”——汇总粒度既不能过细(否则与DWD层重复,失去汇总意义),也不能过粗(否则无法满足细分分析需求)。

2401_83088008的博客 644

88.力扣LeetCode_合并两个有序数组

文章摘要: 该代码实现了合并两个有序数组的功能,其中nums1数组预留了足够空间。算法采用从后向前遍历的方式,通过三个指针分别标记nums1有效元素末尾、nums2末尾和合并位置。核心思想是比较两数组当前元素,将较大值放入nums1末端,依次向前填充。最后处理剩余元素,确保所有数据有序合并。时间复杂度为O(m+n),空间复杂度O(1),是一种高效的原位合并方法。注释详细说明了参数含义和指针移动逻辑。

2401_82472941的博客 264

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【leetCode88】合并两个有序数组

leetCode第88题

日出等日落 199

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

leetcode88. 合并两个有序数组,倒着做

leetcode88. 合并两个有序数组,倒着做

热爱C++和golang的学生 1121

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

力扣(LeetCode) 88. 合并两个有序数组 python3

本来这种题不打算写题解的,因为之前做的题别人都有一堆优秀的题解,自己的又臭又长还占时间内存,写完这道题后发现比目前这道题靠前的python3题解代码都短,还是很有成就感的,就是好像运行时间大部分时候都在百分之五十以下,时间复杂度不太会看QAQ不过python之禅都说了,简单易懂就好~下面是题目: 给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 n...

菜鸟的博客 436

【Java力扣算法】Leetcode 88 合并两个有序数组

题目: 给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。 说明: 初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m =...

懂技术的猫 374

LeetCode第88题_合并两个有序数组

给你两个按排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你nums2到nums1中,使合并后的数组同样按排列。最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。

qq_40263592的博客 1227

leetcode88.合并两个有序数组

leetcode88.合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0...

yyf_blog 589

LeetCode面试150——88合并两个有序数组

Leetcode面试经典150题第88题合并两个有序数组

Junmo12345的博客 1454

LeetCode 88 合并两个有序数组

LeetCode 88 合并两个有序数组 题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0...

sakurasakura1996的博客 277

LeetCode每日一练 —— 88. 合并两个有序数组

leetcode 88. 合并两个有序数组

Edison's 小宇宙 1万+

力扣---LeetCode88. 合并两个有序数组

第七弹 --- 力扣LeetCode每日一题

小沈.的博客 1063

从今天开始重刷力扣 Leetcode 88. 合并两个有序数组 双指针

Leetcode 88. 合并两个有序数组 双指针

想买很多漂亮衣服但是买不起的博客 369

leetcode-88 | 合并两个有序数组

title: leetcode-88 | 合并两个有序数组 date: 2019-4-23 13:42:04 comments: true categories: “leetcode” tags: - leetcode 简单难度 88. 合并两个有序数组(Merge Sorted Array) 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num...

梦否 410
上一篇: 力扣 55 跳跃游戏
下一篇: 力扣 第540题 寻找有序数组中的单一元素
凌晨里的无聊人
博客等级 码龄8年 2320粉丝 206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨里的无聊人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值