LeetCode-88:Merge Sorted Array (合并两排序数组)

归并排序中使用的合并两个数组的merge方法 【逻辑有点乱,主题可能不是特别明确。仅作为自己刷题的理解日记。(非常菜的】 由于自己对这个方法的理解不到位【第一次接触时认为是合并两个有序数组,但是今天发现不是有序的数组也可以。一直以为这个方法执行一次,就能将长度大于2的数组排序好】实际上是,通过递归调用这个方法,先将两个元素排序,两组两个的数组合并就能做到合并后的有序。若是合并的两个数组不是有序的,那么合并后得到的数组并不是有序的。 leetcode315题的整体代码: 这一题的解决是在归并排序的代码框架上实现的。 注:在官方给的题解中加入了自己测试的代 阅读详情

Question

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

问题解析:

合并两个排序好的数组,重新合并成一个排序好的数组。

Answer

Solution 1:

合并实现。

  • 注意题目中给定的条件,nums1数组要大于nums2的数组,将nums2的元素放到nums1中;
  • 绘图可知,nums1后部空缺,故从后向前依次比较,结果存入nums1的后部。
class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int i = m -1;
        int j = n -1;
        int k = m + n -1;
        while ( i >= 0 && j >= 0){
            if (nums1[i] > nums2[j]){
                nums1[k--] = nums1[i--];
            }else{
                nums1[k--] = nums2[j--];
            }
        }

        while ( j >= 0){
            nums1[k--] = nums2[j--];
        }
    }
}
  • Runtime: 0 ms
  • Beats 30.75 % % of java submissions
  • 时间复杂度:O(n);空间复杂度:O(1)
ANSYS APDL齿轮建模实战:从渐开线方程到完整3D模型的保姆级教程 本文详细介绍了使用ANSYS APDL进行齿轮建模的全过程,从渐开线方程的数学基础到完整3D模型的创建。通过参数化命令流实现高精度齿轮建模,特别适合机械设计和仿真分析需求。教程包含关键参数计算、APDL环境配置、单齿齿廓建模以及全齿轮阵列复制等实用技巧,帮助工程师快速掌握ANSYS APDL在齿轮建模中的应用。 阅读详情

相关推荐

西门子【Automation Framework V1.2】AF架构:从软件栈到高效自动化项目的构建蓝图

本文深入解析西门子Automation Framework V1.2 (AF架构) 的核心价值与实施蓝图。该框架通过定义标准化的软件栈(如TIA Portal V19、STEP7、WinCC Unified)和严格的安装配置流程,将自动化项目开发从依赖个人经验的“手工作坊”模式,转变为高效、可复制的工业化模式。遵循此架构,工程师能快速构建稳定可靠的项目基础,规避环境冲突,从而专注于核心工艺与逻辑设计,大幅提升团队协作与项目交付效率。

weixin_29230059的博客 428

【LeetCode】88.Merge Sorted Array(合并两个有序数组)-C++实现及详细图解

问题描述: 问题解答:  (1) 定义两个数组的元素个数 m ,n; vector<int> nums1 = { 1, 3, 5, 7 }; int m = (int)nums1.size(); vector<int> nums2 = { 2, 4, 6 }; int n = (int)nums2.size(); (2)向数组 nums1 中push_b...

渲染引擎开发 1096

STM32嵌入式开发实战:如何用miniLZO压缩算法节省70%存储空间(附完整工程)

本文详细介绍了如何在STM32嵌入式开发中使用miniLZO无损压缩算法实现高达70%的存储空间节省。通过对比分析不同轻量级算法,重点讲解miniLZO的内存优化配置、分块压缩策略和完整工程实现,帮助开发者有效解决嵌入式系统中的存储瓶颈问题。

ss78901的博客 881

【LeetCode】合并两个排序数组:Merge Sorted Array

解题思路: 从后往前遍历,cur指向当前合并的索引,代码如下: class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int cur = m + n - 1; int i = m - 1, j = n - 1; while(i >= 0 &&

Arlingtonroad的博客 222

统信UOS服务器上,达梦DM8数据库安装避坑全记录(附大小写敏感设置)

本文详细介绍了在统信UOS服务器版上部署达梦DM8数据库的全过程,包括环境准备、安装流程、数据库实例初始化及关键参数配置,特别是大小写敏感设置的注意事项。提供了从系统配置到性能优化的完整指南,帮助用户避免常见问题,确保数据库稳定运行。

weixin_30647423的博客 331

如何在huggingface上申请下载使用llama2/3模型

huggingface-cli download --resume-download 模型名称 --local-dir 存放模型的位置 --local-dir-use-symlinks False --resume-download --token token序列号xxxxxxx。登录huggingface,在模型详情页面上,找到这个表单,填写内容,提交申请。需要使用梯子,country填写梯子的位置吧(比如美国)等待一小时左右,会有邮件通知。

a61022706的博客 1万+

[swift] LeetCode 23. Merge k Sorted Lists

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. Example: Input: [ 1-&gt;4-&gt;5,   1-&gt;3-&gt;4,   2-&gt;6 ]Output: 1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;...

柳婼 の blog 405

嵌入式SD/TF卡通用协议-SDIO协议

为了驱动SD卡,首先的第一步就是观察SD卡引脚接线情况,通常我们在画原理图时,都是使用的SD卡卡槽与MCU进行接线。SD卡可以使用SDIO协议和SPI协议进行通信,这里我们主要介绍SDIO协议。下图中的TF卡只是容量小一点的SD卡。以F1C100S为例,接线图如下所示:我们发现上图中的TF卡使用的协议为SDIO协议,主要有4根数据线,1根命令线,1根时钟线组合而成。为了驱动这个SD/TF卡我们就需要去了解SDIO协议的时序。

qq_1033275663的博客 3050

【leetcode】(python)88. Merge Sorted Array合并排序数组

合并排序数组DescriptionExample题意解题思路code 88. Merge Sorted Array Easy Description Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: The number of elements in...

。 461

1.3-----Simplify 3D切片软件:从新手困惑到高效打印的进阶设置指南

本文详细介绍了Simplify 3D切片软件在大型模型打印中的高效设置技巧,包括切片效率、支撑结构智能生成和精细参数调节等核心优势。通过实战案例和进阶参数设置指南,帮助用户从新手快速进阶到高效打印,显著提升3D打印质量和效率。

weixin_42552716的博客 422

标准测试测试数据STDF学习笔记

本文介绍了STDF(Standard Test Data Format)文件的结构与解析方法。首先详细说明了STDF记录的组成,包括记录头类型(REC_TYP和REC_SUB)、数据类型定义、时间日期格式以及无效数据标识。重点分析了25种主要记录类型的功能、数据内容和出现位置,如FAR、MIR、MRR等关键记录。然后介绍了基于pystdf开源工具的解析方法,包括自带脚本的使用和自编程解析流程,通过事件驱动机制处理数据流。特别指出测试数据是按照PIR→PTR/MPR/FTR→PRR的循环模式组织。文章为ATE

歌颂苦难的行为是无耻的; 1513

LeetCode 88 Merge Sorted Array(合并排序数组)(*)

翻译给定两个排序的整型数组nums1和nums2,将nums2合并到nums1成一个排序数组。批注: 你可以假设nums1中有足够的空间(空间大于或等于m+n)来存放来自nums2的额外元素。 nums1和nums2的初始空间分别是m和n。原文Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one

nomasp 5977

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

leetcode 88 Merge Sorted Array(合并两个排序数组)

循环一直到结束。循环结束条件:当index1或index2有一个小于0时,此时就可以结束循环了。 如果index2小于0, 说明目的达到了。 如果index1小于0,就把array2中剩下的前面的元素都复制到array1中去就行。 从前往后的空间要O(m), 从后往前是O(1) class Solution(object): def merge(self, nums1, m, nums2,...

爱喝舒化奶的博客 248

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

leetcode88-Merge Sorted Array合并两个排序数组python

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

yzy的博客 214

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

88. merge sorted array java_[LeetCode]Merge Sorted Array 合并排序数组

难度:Easy题目:88. Merge Sorted ArrayGiven two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:You may assume that nums1 has enough space (size that is greater or equ...

weixin_32715349的博客 199

Leetcode 88. Merge Sorted Array 合并已排序数组

1 结题思想给定的是两个已经排好序的数组,因为nums1的空间足够大,可以从nums1的第n+m个位置开始填数据,nums1和nums2的指针从末尾开始就可以,比较简单PS:要出去两天,所以暂时停止更新两天2 原题Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.No

MebiuW的专栏 937

88. merge sorted array java_LeetCode第[88]题(Java):Merge Sorted Array(合并已排序数组)

题目:合并已排序数组难度:Easy题目内容:Given two sorted integer arraysnums1andnums2, mergenums2intonums1as one sorted array.翻译:给定两个排序的整数数组nums1和nums2,将nums2合并到nums1中作为一个排序数组。注意:nums1和nums2中初始化的元素数量分别为m和n。nums1有...

weixin_27180827的博客 190

leetcode-top150-88. Merge Sorted Array合并已排序数组

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

yexingzhe2018的博客 551

leetCode 88.Merge Sorted Array (合并排序数组) 解题思路和方法

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold add

Android进阶 1933

leetcode【排序与搜索】-----88. Merge Sorted Array(合并两个有序数组)

1、题目描述 2、分析 首先,这道题给出了两个数组,还有两个数组里元素的个数,并且第一个数组的大小其实是两个数组里元素的总数。题目给了两个排序数组,那么要将两个排序合并起来,我们需要三个指针,一个指向第一个数组的有效的最后一个元素,一个指向第二个数组的最后一个有元素,一个指向第一个数组的最后一个位置,这样,从后面开始比较,将大的元素放入第一个数组的最后一个位置,并将指针移动...

一个人的学习和碎碎念 148

leetcode刷题日记:83. Remove Duplicates from Sorted List(删除排序链表中的重复元素)和88. Merge Sorted Array(合并两个有序数组)

题目上说给出了一个已经排好序的链表的头结点,删除重复的元素来让每个元素只出现一次,然后将链表返回。在此问题中,只需要会链表的删除操作就行了。

apprentice_eye的博客 130

Leetcode 排序

Leetcode 排序Leetcode 75 Leetcode 75 75. Sort Colors Given an array nums with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white, and blue. Here, we will use the

mathnan的专栏 191

LeetCode小白菜笔记[21]:Merge Sorted Array

LeetCode小白菜笔记[21]:Merge Sorted Array 88. Merge Sorted Array [easy] Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has ...

VisualCortex 389

LeetCode 88. Merge Sorted Array 题解

本题是双指针的经典应用问题,主要考察对双指针技巧的理解和使用。通过使用双指针从后向前遍历,我们可以高效地合并两个有序数组,而不需要额外的空间。双指针的核心思想是:使用两个指针分别指向两个数组的末尾,比较它们的元素,将较大的元素移动到nums1的末尾,然后移动相应的指针。这种方法不仅适用于合并两个有序数组问题,还可以应用于许多其他需要合并有序数组的场景。掌握双指针的使用,对于解决这类问题非常重要。

cannonjinx的博客 4180

Leetcode 88. Merge Sorted Array

Leetcode 88. Merge Sorted Array

weixin_45428910的博客 1327
上一篇: LeetCode-532:K-diff Pairs in an Array (给定绝对值差的值对个数)
下一篇: LeetCode-628:Maximum Product of Three Numbers (数组三元素最大乘积)
大树先生的博客
博客等级 码龄9年 2692粉丝 200原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值