算法题 — 合并两个有序数组

合并两个有序数组

两个有数整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

初始化 nums1 和 nums2 的元素数量分别为 m 和 n。假设 nums1 的空间大小等于 m + n,这样它就能有足够的空间保存来自 nums2 的元素。

public static int[] merge(int[] nums1, int m, int[] nums2, int n) {// num2: 要复制的源数组; 0: 源数组要复制的起始位置(从0开始);// nums1: 要复制的目标数组 m: 目标数组的起始位置 n: 要复制的长度;System.arraycopy(nums2, 0, nums1, m, n);Arrays.sort(nums1);return nums1;
}public static int[] merge1(int[] nums1, int m, int[] nums2, int n) {int[] nums1_copy = new int[m];System.arraycopy(nums1, 0, nums1_copy, 0, m);int p1 = 0; // 指向 nums1_copyint p2 = 0; // 指向 nums2int p = 0; // 指向 nums1while (p1 < m && p2 < n) {nums1[p++] = nums1_copy[p1] < nums2[p2] ? nums1_copy[p1++] : nums2[p2++];}if (p1 < m) {System.arraycopy(nums1_copy, p1, nums1, p1 + p2, m + n - p1 - p2);}if (p2 < n) {System.arraycopy(nums2, p2, nums1, p1 + p2, m + n - p1 - p2);}return nums1;
}public static int[] merge3(int[] nums1, int m, int[] nums2, int n) {int p1 = m - 1;int p2 = n - 1;int p = m + n - 1;while (p1 >= 0 && p2 >= 0) {nums1[p--] = nums1[p1] < nums2[p2] ? nums2[p2--] : nums1[p1--];}System.out.println(Arrays.toString(nums1));System.out.println(Arrays.toString(nums2));System.arraycopy(nums2, 0, nums1, 0, p2 + 1);return nums1;
}int[] nums1 = new int[]{1, 3, 5, 7, 9, 0, 0, 0, 0};
int[] nums2 = new int[]{2, 4, 6, 8};
System.out.println(Arrays.toString(merge3(nums1, 5, nums2, 4)));

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

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

相关文章

Sping源码(八)—registerBeanPostProcessors

序言 之前我们用大量的篇幅介绍过invokeBeanFactoryPostProcessors()方法的执行流程。 而invokeBeanFactoryPostProcessors的主要逻辑就是遍历执行实现了BeanDefinitionRegistryPostProcesso类(主要是针对BeanDefinition的操作)和BeanFactoryPostProcessor(主要针对BeanFacrot…

深入分析 Android Activity (五)

深入分析 Android Activity (五) 1. Activity 的进程和线程模型 在 Android 中&#xff0c;Activity 默认在主线程&#xff08;也称为 UI 线程&#xff09;中运行。理解进程和线程模型对于开发响应迅速且无阻塞的应用程序至关重要。 1.1 主线程与 UI 操作 所有 UI 操作必须…

干货 | 什么是单相感应电机控制器?一文带你看感应交流电机解决方案KP86202

单相感应电机控制器是一种用于控制单相感应电机运行的电子设备。单相感应电机是一种常见的电动机类型&#xff0c;广泛应用于家用电器、商业设备以及轻工制造等领域。 单相感应电机控制器通常包括电源模块、控制逻辑模块和功率输出模块。其主要功能是对单相感应电机进行启停、…

如何生成Github Badge徽章图标

如何生成徽章Badge 什么是徽章(Badge)生成小徽章shields网站开源项目的徽章lib版本徽章代码测试覆盖度开源协议Github workflow的徽章 开源代码实践效果py-enumjs-enumerate 什么是徽章(Badge) 在开源项目的README中&#xff0c;经常会见到一些徽章(Badge)小图标&#xff0c;如…

FastCopy

目录 背景: 简介&#xff1a; 原理: 下载地址: 工具的使用: 背景: 简介&#xff1a; FastCopy是一款速度非常快的拷贝软件&#xff0c;软件版本为5.7.1 Fastcopy是日本的最快的文件拷贝工具&#xff0c;磁盘间相互拷贝文件是司空见惯的事情&#xff0c;通常情况…

redis--redis Cluster

简介 解决了redis单机写入的瓶颈问题&#xff0c;即单机的redis写入性能受限于单机的内存大小、并发数量、网卡速率等因素无中心架构的redis cluster机制&#xff0c;在无中心的redis集群当中&#xff0c;其每个节点保存当前节点数据和整个集群状态,每个节点都和其他所有节点连…

【MySQL精通之路】InnoDB-INFORMATION_SCHEMA库Metrics表

1.介绍 INNODB_METRICS表提供了有关INNODB性能和资源相关计数器的信息。 INNODB_METRICS表列如下所示。 有关列描述&#xff0c;请参阅“INFORMATION_SCHEMA库INNODB_METRICS表”。 【MySQL精通之路】INFORMATION_SCHEMA库-INNODB_METRICS表-CSDN博客 mysql> SELECT * FRO…

好书推荐|MATLAB科技绘图与数据分析

提升你的数据洞察力&#xff0c;用于精确绘图和分析的高级MATLAB技术 MATLAB科技绘图与数据分析——jd 本书内容 《MATLAB科技绘图与数据分析》结合作者多年的数据分析与科研绘图经验&#xff0c;详细讲解MATLAB在科技图表制作与数据分析中的使用方法与技巧。全书分为3部分&a…

C语言 数组——数组的定义和初始化

目录 为什么使用数组(Array)? 一维数组的定义 一维数组的初始化 一维数组元素的访问 一维数组元素的赋值 数组的逻辑存储结构 数组的物理存储结构 二维数组的定义和初始化 为什么使用数组(Array)? 一维数组的定义 一维 数组的定义 int a[10]; 定义一个有 10 个 int 型元素的…

云WAF在应对新型网络攻击中的作用是什么?

云WAF&#xff08;Web Application Firewall&#xff09;在应对新型网络攻击中扮演着至关重要的角色。以下是云WAF的主要作用&#xff1a; 实时防御与智能分析 云WAF能够实时监测并分析网络流量&#xff0c;一旦发现潜在攻击行为立即进行阻断&#xff0c;有效防止各类Web应用层…

构建传统企业信息化数字化智能化技术架构:挑战与机遇

随着数字化和智能化技术的快速发展&#xff0c;传统企业在信息化转型过程中面临着前所未有的机遇和挑战。如何构建适应企业需求的信息化数字化智能化技术架构&#xff0c;成为企业发展的关键之一。本文将探讨传统企业信息化数字化智能化技术架构的设计与实践。 一、数字化转型的…

【缺失的第一个正数】leetcode,python

真是越做越觉得自己所学尚浅&#xff0c;&#xff0c; 啊&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f; 直接上石山代码&#xff1a;&#xff08;过不了一点&#xff09;。。。。。 class Solution:def firstMissingPositive(self…

SpringBoot发送邮箱

一、导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency> 二、添加配置 application.yml文件 将username修改为自己的邮箱&#xff0c;password修改为…

SQL——DDL之数据表的操作

基础 # 每一列都要指定对应的类型 # 字符串&#xff1a;varchar(N) # 整数&#xff1a;int # 小数&#xff1a;double # 年月日&#xff1a;date # 年月日时分秒&#xff1a;datetime# 创建表 create table if not exists db_bigdata.student(stuid varchar(10),stuname varch…

[集群聊天服务器]----(四)MySQL数据库模块

上一节我们对网络模块和业务模块进行了解耦[集群聊天服务器]----(三)ChatService模块&#xff0c;解耦网络模块和业务模块&#xff0c;封装了回调函数。在项目中需要使用mysql数据库进行存储用户重要数据&#xff0c;并进行增删改查操作。&#xff0c;所以这一节我们对mysql的封…

Linux基础入门和帮助-第二篇

马哥教育 Linux SRE 学习笔记 用户登录信息查看命令 whoami: 显示当前登录有效用户 [rootrocky8 ~]$whoami rootwho: 系统当前所有的登录会话 [rootrocky8 ~]$who root pts/0 2024-05-24 12:55 (10.0.0.1)w: 系统当前所有的登录会话及所做的操作 [rootrocky8 ~]…

python对矩阵列进行操作

在Python中&#xff0c;可以使用NumPy库来对矩阵&#xff08;或称为矩阵、数组&#xff09;的列进行各种操作。以下是一些常见的列操作及其示例代码&#xff1a; import pandas as pd# 读取CSV文件 df pd.read_csv(output_file.csv, delimiter )# 对列进行求和 sum_columns …

WordPress 发布了独立的 SQLite 插件

之前 WordPress 在官方的 Performance Lab 插件实现 SQLite 模块&#xff0c;现在重构 SQLite 的实现&#xff0c;并且将其发布成一个独立的插件&#xff1a;SQLite Database Integration。 独立 SQLite 插件 最初的功能模块实现是基于 aaemnnosttv 的 wp-sqlite-db 插件修改实…

用ssh做跳板用周转服务器帮我们加速下载

假设有一台机器A&#xff0c;它从网站B下载东西很慢&#xff0c;但是有一台机器C&#xff0c;它从B下载比较快&#xff0c;它和A之间的速度也比较快&#xff0c;那么就可以在A发指令&#xff0c;通过ssh做跳板从C加速下载网站B的文件。 以下为示例命令&#xff1a; ssh 用户名…

【DevOps】Linux 下安装配置 Apache 服务器:打造你的专属 Web 平台

目录 一、准备工作 二、安装 Apache 三、启动和管理 Apache 四、验证安装 五、配置 Apache 5.1 修改网站根目录 5.2 配置虚拟主机 5.2.1 创建虚拟主机配置文件 5.2.2 创建网站目录 5.2.3 启用虚拟主机 5.2.4 重启 Apache 5.3 配置 HTTPS 5.3.1 安装 SSL 证书 5.3…