当前位置: 首页 > 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.提交结果截图

在这里插入图片描述

整理完毕,完结撒花~ 🌻

http://www.lryc.cn/news/225098.html

相关文章:

  • 剪贴板管理软件 Paste Wizard mac中文版功能特色
  • 【数据结构】树的基本性质(计算树的总结点数与叶结点数)
  • android手机平板拓展电脑屏幕
  • 接口测试的流程
  • HMAC 详解:在 Golang 中实现消息认证码
  • 阻塞队列和定时器的使用
  • JavaScript脚本操作CSS
  • Rust4.1 Managing Growing Projects with Packages, Crates, and Modules
  • RPA在财务预测和分析中的应用
  • 无人机航拍技术基础入门,无人机拍摄的方法与技巧
  • PTA 哈密尔回路(建图搜索)
  • 如何利用产品帮助中心提升用户体验
  • 【Python大数据笔记_day05_Hive基础操作】
  • css呼吸效果实现
  • 机器视觉opencv答题卡识别系统 计算机竞赛
  • 2024年的后端和Web开发趋势
  • 对比了10+网盘资源搜索工具,我最终选择了这款爆赞的阿里云盘、百度网盘、夸克网盘资源一站式搜索工具
  • GoLong的学习之路(二十)进阶,语法之反射(reflect包)
  • 关于表单校验,:rules=“loginRules“
  • 统一消息分发中心设计
  • 前端项目导入vue和element
  • 【11】使用透视投影建立一个3D空间的测试
  • 【广州华锐互动】VR影视制片虚拟仿真教学系统
  • 从研发域到量产域的自动驾驶工具链探索与实践
  • 404. 左叶子之和
  • 基于SSM的课程管理系统
  • 【hcie-cloud】【5】华为云Stack规划设计之华为云Stack标准化配置、缩略语【下】
  • 搭建自己的MQTT服务器,实现设备上云(Ubuntu+EMQX)
  • web3案例中解决交易所中 ETH与token都是0问题 并帮助确认展示是否成功
  • unreal engine oculus 在vr场景中fade in , fade out