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

力扣 88.合并两个有序数组

文章目录

  • 题目介绍
  • 题解

题目介绍

在这里插入图片描述

题解

法一:暴力法

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {for(int i = 0; i < n; i++){nums1[m+i] = nums2[i];}Arrays.sort(nums1);}
}

法二:倒序双指针 时间复杂度为O(m+n)

从右往左地把 nums2 合并到 nums1 中

nums1=[1,2,3,0,0,0],nums2=[4,5,6]

class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int p1 = m - 1;int p2 = n - 1;int p = m + n - 1;while (p2 >= 0) { // nums2 还有要合并的元素if (p1 >= 0 && nums1[p1] > nums2[p2]) {nums1[p--] = nums1[p1--]; // 填入 nums1[p1]} else {nums1[p--] = nums2[p2--]; // 填入 nums2[p1]}}}
}

相关文章:

  • vscode配置lua
  • PowerShell脚本编程基础指南
  • 《认知觉醒》第二章——驯服你的“脑内大象”:理智、本能与情绪的共生之道
  • 【Harmony OS】数据存储
  • Modbus转Ethernet IP网关助力罗克韦尔PLC数据交互
  • 项目目标和期望未被清晰传达,如何改进?
  • 【计算机网络】第七章 运输层
  • 动态规划-数位DP
  • 【学习笔记】深度学习-过拟合解决方案
  • 基于Halcon深度学习之分类
  • 【bpmn.js 使用总结】最简单实现Palette
  • 在Mathematica中实现Newton-Raphson迭代
  • 从零打造AI面试系统全栈开发
  • 生成JavaDoc文档
  • [Java 基础]运算符,将盒子套起来
  • Qiskit:量子计算模拟器
  • 01-python爬虫-第一个爬虫程序
  • VueUse:组合式API实用函数全集
  • Spring Boot 自动配置原理:从入门到精通
  • 视频监控管理平台EasyCVR安防小知识:监控摄像头异响问题排查与处理
  • 网站建设目的分析/seo搜索引擎优化课程总结
  • 域名被劫持最佳处理办法/seo推广公司招商
  • 网站备案号超链接怎么做/去除痘痘怎么有效果
  • 如何用自己电脑做网站测试/网站建设外包
  • 中企动力员工感受/武汉seo优
  • 汕头市龙湖区疫情最新消息/东莞seo公司