88、合并两个有序数组

题目描述

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

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

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

解题思路

双指针法:两个指针指向要比较的元素,将较大元素保存在结果数组中。
时间复杂度:O(m+n),空间复杂度O(1)

代码

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {// 1.定位数组的存放位置int index = m + n - 1;// 2. 用两个指针,比较两个数组的比较位置int i = m - 1;int j = n - 1;while(i >= 0 && j >= 0){// 3.将较大的元素存放在数组1对应的位置if(nums1[i] < nums2[j]){nums1[index--] = nums2[j--];}else{nums1[index--] = nums1[i--];}}// 4. 如果nums2数组走完之后,nums1数组还没走完,可以不用管// 5.如果nums1数组走完之后,nums2数组还没走完,将nums2数组剩余的元素放nums1的位置while(j >= 0){nums1[index--] = nums2[j--];} }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在ubuntu的docker上常用的docker命令

在 Ubuntu 系统上使用 Docker 时&#xff0c;以下是最常用的前 200 个 Docker 命令&#xff0c;并按类别进行分类。这些命令涵盖了 Docker 的基本操作、管理容器、镜像、网络、卷等方面的功能&#xff0c;适用于日常使用和高级管理任务。 1. 基本命令 这些是与 Docker 交互的基…

ICode国际青少年编程竞赛—Python—4级训练场—复杂嵌套循环

ICode国际青少年编程竞赛—Python—4级训练场—复杂嵌套循环 icode练习时遇到卡顿没有思路时怎么办&#xff0c;题目也很难找到不会的那道题&#xff5e;针对这个问题&#xff0c;我们开发了通过“步数”、“积木行数”来快速定位到你不会的题目&#xff5e; 题目会持续更新…

交替序列长度的最大值

1、题目描述 给出n个正整数&#xff0c;你可以随意从中挑选一些数字组成 一段序列S&#xff0c;该序列满足以下两个条件&#xff1a; 1.奇偶交替排列&#xff1a;例如&#xff1a;"奇&#xff0c;偶&#xff0c;奇&#xff0c;偶&#xff0c;奇.…" 或者 "偶&a…

电机试验平台:功能架构与关键技术介绍

电机试验平台作为电机研发、生产和质量控制的核心设备&#xff0c;其设计与应用直接关系到电机性能测试的准确性和效率。随着工业自动化、新能源汽车等领域的快速发展&#xff0c;对电机性能的要求日益提高&#xff0c;电机试验平台的设计也需不断优化以适应多样化需求。以下从…

ubuntu修改时区和设置24小时格式时间

ubuntu修改时区和设置24小时格式时间 一、修改时区二、设置24小时格式时间endl 一、修改时区 使用timedatectl命令更改当前时区为东八区[rootubuntu24-16:~]# timedatectl list-timezones | grep -i shanghai Asia/Shanghai [rootubuntu24-16:~]# timedatectl set-timezone As…

【IP101】图像分割技术全解析:从传统算法到深度学习的进阶之路

图像分割详解 ✂️ 欢迎来到图像处理的"手术室"&#xff01;在这里&#xff0c;我们将学习如何像外科医生一样精准地"切割"图像。让我们一起探索这个神奇的图像"手术"世界吧&#xff01;&#x1f3e5; 目录 &#x1f4d1; 1. 图像分割简介2. 阈…

URL混淆与权限绕过技术

一、漏洞原理 前后端路径解析逻辑不一致 后端框架&#xff08;Spring/Shiro&#xff09;自动处理特殊字符&#xff08;../、//&#xff09;&#xff0c;但鉴权组件&#xff08;如Filter&#xff09;未规范化原始URI。 示例&#xff1a;/system/login/../admin被Filter误判为白…

Redis卸载重装教程

卸载 找到redis安装目录 cmd打开该目录&#xff0c;输入 redis-server --service-uninstall运行结果如下 最后再删除redis文件夹即可&#xff08;如果显示该文件夹已在其他地方被打开而无法删除&#xff0c;可以重启一下电脑&#xff0c;就能正常删除啦&#xff09; 安装R…

使用OpenCV 和 Dlib 实现人脸融合技术

文章目录 引言一、技术概述二、环境准备三、关键代码解析1. 人脸关键点定义2. 获取人脸掩模3. 计算仿射变换矩阵4. 检测并提取人脸关键点5. 颜色校正 四、完整流程五、效果展示六、总结 引言 本文将介绍如何使用Python、OpenCV和dlib库实现人脸融合技术&#xff0c;将一张人脸…

skywalking服务安装与启动

skywalking服务安装并启动 1、介绍2、下载apache-skywalking-apm3、解压缩文件4、创建数据库及用户5、修改配置文件6、下载 MySQL JDBC 驱动7、启动 OAP Serve,需要jkd11,需指定jkd版本,可以修改文件oapService.sh8、启动 Web UI,需要jkd11,需指定jkd版本,可以修改文件oapServi…

计算方法实验四 解线性方程组的间接方法

【实验性质】 综合性实验。 【实验目的】 掌握迭代法求解线性方程组。 【实验内容】 应用雅可比迭代法和Gauss-Sediel迭代法求解下方程组&#xff1a; 【理论基础】 线性方程组的数值解法分直接算法和迭代算法。迭代法将方程组的求解转化为构造一个向量序列&…

G919-GAS软件 JSON格式数据通讯协议-阵列数据解析

G919-GAS软件 JSON格式数据通讯协议-阵列数据解析 版本记录 DateAuthorVersionNote2024.04.07Dog TaoV1.0发布通讯协议。2025.05.06Dog TaoV1.11. 增加了【高速采样】模式下的通讯协议。2. 增加了“软件开发建议”小节。 文章目录 G919-GAS软件 JSON格式数据通讯协议-阵列数据…

TCGA数据库临床亚型可用!贝叶斯聚类+特征网络分析,这篇 NC 提供的方法可以快速用起来了!

生信碱移 贝叶斯网络聚类 CANclust是一种基于贝叶斯的聚类方法&#xff0c;系统性地对基因突变、细胞遗传学信息和临床指标进行联合建模&#xff0c;用于多种模态数据的联合聚类分析&#xff0c;并识别在患者群体中反复出现的特征模式。 个体的遗传与环境背景决定其应对疾病的…

【算法】随机快速排序和随机选择算法

文章目录 1、随机快速排序1.1 什么是随机快排1.2 随机快排的好处 2、随机选择算法 前言&#xff1a; 快速排序就是每次划分前&#xff0c;通过一种方法将一个基准值的位置确定好&#xff0c;再进入不同的部分重复相同的工作以此确定好每个值的位置以达到有序。如果你之前并不了…

网络技术基础,NAT,桥接,交换机,路由器

什么是NAT Network Address Translation&#xff08;网络地址转换&#xff09;&#xff0c;它负责将目标IP或源IP进行了改变&#xff0c;相当于一个中间代理&#xff0c;我们家庭常用的路由器就是一个NAT设备&#xff0c;NAT是为了解决IPv4的IP地址快要耗尽的问题&#xff0c;…

DVWA靶场保姆级通关教程--03CSRF跨站请求伪造

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、low级别的源码分析 二、medium级别源码分析 安全性分析 增加了一层 Referer 验证&#xff1a; 关键点是&#xff1a;在真实的网络环境中&a…

【Ansible自动化运维实战:从Playbook到负载均衡指南】

本文是「VagrantVirtualBox虚拟化环境搭建」的续篇&#xff0c;深入探索Ansible在自动化运维中的核心应用&#xff1a; ✅ Ansible核心技能&#xff1a;Playbook编写、角色&#xff08;Roles&#xff09;模块化、标签&#xff08;Tags&#xff09;精准控制 ✅ 实战场景覆盖&a…

基于STM32、HAL库的STC31-C-R3气体传感器驱动程序设计

一、简介: STC31-C-R3是Sensirion公司推出的一款基于CMOSens技术的CO2传感器,具有以下特点: 测量范围:0-100%体积浓度 I2C数字接口 低功耗设计 高精度和长期稳定性 小尺寸封装(5mm x 5mm) 二、硬件接口: STC31-C-R3 STM32L4xx ---------------------------- VDD (P…

Nginx篇之限制公网IP访问特定接口url实操

一、nginx配置限制IP访问 要在 Nginx 配置中添加 IP 限制&#xff0c;阻止来自指定公网 IP 地址段的访问&#xff0c;并且只对特定路径进行限制&#xff0c;可以在 location 配置中使用 deny 和 allow 指令来控制访问。 二、案例 1. 需求 对来自特定公网的地址段&#xff0…

算法研习:无重复字符的最长子串问题剖析

算法研习:无重复字符的最长子串问题剖析 一、引言 在算法的广袤天地中,字符串相关问题一直是备受关注的焦点。“无重复字符的最长子串”这一问题,不仅在面试中频繁出现,更是对算法思维和编程技巧的一次深度考验。它要求我们从给定字符串中找出不含有重复字符的最长子串的长…