当前位置: 首页 > news >正文

LeetCode(1)合并两个有序数组【数组/字符串】【简单】

在这里插入图片描述

目录

    • 1.题目
    • 2.答案
    • 3.提交结果截图

链接: 88. 合并两个有序数组

1.题目

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

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

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

示例 1:

在这里插入图片描述

示例 2:

输入:nums1 = [1], m = 1, nums2 = [], n = 0
输出:[1]
解释:需要合并 [1] 和 [] 。
合并结果是 [1] 。

示例 3:

输入:nums1 = [0], m = 0, nums2 = [1], n = 1
输出:[1]
解释:需要合并的数组是 [] 和 [1] 。
合并结果是 [1] 。
注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。

提示:

  • nums1.length == m + n
  • nums2.length == n
  • 0 <= m, n <= 200
  • 1 <= m + n <= 200
  • -109 <= nums1[i], nums2[j] <= 109

进阶: 你可以设计实现一个时间复杂度为 O(m + n) 的算法解决此问题吗?

通过次数:1.1M,提交次数:2M,通过率:52.9%


2.答案

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {if (n < 1) {return;}if (m < 1) {System.arraycopy(nums2, 0, nums1, 0, nums2.length);}int compareIndex = 0;for (int i = 0; i < n; i++) {compareIndex = Math.max(compareIndex, i);for (int j = compareIndex; j < m + 1 && j < nums1.length; j++) {if (nums2[i] < nums1[j] || j == m) {// 插入操作insert(nums1, j, m, nums2[i]);m++;compareIndex++;break;}}}}/*** 将 nums2 插入 nums1*/private void insert(int[] nums1, int index1, int length1, int insertNum) {// 后移if (index1 < length1) {moveBack(nums1, index1, length1);}nums1[index1] = insertNum;}/*** 后移*/private void moveBack(int[] nums, int index, int length) {for (int i = length - 1; i >= index; i--) {nums[i + 1] = nums[i];}}
}

3.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻

相关文章:

  • k8s持久化存储PV、PVC
  • 【Ruoyi管理后台】用户登录强制修改密码
  • Linux awk命令
  • 百度上线“文心一言”付费版本,AI聊天机器人市场竞争加剧
  • docker下的nginx代理转发到tomcat
  • 自然语言处理中的文本聚类:揭示模式和见解
  • Python+reuqests自动化接口测试
  • yolov5 利用Labelimg对图片进行标注
  • VR虚拟现实:VR技术如何进行原型制作
  • 数字滤波器设计---FIR 滤波器设计
  • 基于SSM的中学课内小说阅读与学习系统的设计与实现
  • app自动化测试(Android)--显式等待机制
  • 【面经】api接口响应超时如何排查解决
  • Python使用Numba装饰器进行加速
  • 【Redis】SSM整合Redis注解式缓存的使用
  • ----------
  • 《Java编程思想》读书笔记-对象导论
  • 30天自制操作系统-2
  • 78. Subsets
  • Java 内存分配及垃圾回收机制初探
  • js面向对象
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • uva 10370 Above Average
  • XForms - 更强大的Form
  • 分布式熔断降级平台aegis
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 线性表及其算法(java实现)
  • 一些关于Rust在2019年的思考
  • 赢得Docker挑战最佳实践
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 你对linux中grep命令知道多少?
  • ​linux启动进程的方式
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (vue)页面文件上传获取:action地址
  • (第二周)效能测试
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (全注解开发)学习Spring-MVC的第三天
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (一)RocketMQ初步认识
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET CLR Hosting 简介
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net解析传过来的xml_DOM4J解析XML文件
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • /3GB和/USERVA开关
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)