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

数组算法之【合并两个有序数组】

目录

LeetCode-88题


LeetCode-88题

给定两个非递减排序的数组num1和num2,并给出两者的元素个数分别为m和n,合并两个数组,使合并后仍然按非递减排序

public class Solution {/*** 这里使用的是双指针的解法*/public void merge(int[] nums1, int m, int[] nums2, int n) {// checkif (n <= 0 && m <= 0)return;if (m <= 0) {System.arraycopy(nums2, 0, nums1, 0, n);return;}if (n <= 0)return;int[] newArr = new int[m + n];// 定义两个指针int p1 = 0;int p2 = 0;int i = 0;// 将指针指向小的元素放入结果集数组中,并移动对应指针while (p1 < m && p2 < n)newArr[i++] = nums1[p1] < nums2[p2] ? nums1[p1++] : nums2[p2++];// 将剩余元素放入结果集数组while (p1 < m)newArr[i++] = nums1[p1++];while (p2 < n)newArr[i++] = nums2[p2++];// 应题目要求放入num1中System.arraycopy(newArr, 0, nums1, 0, newArr.length);}
}

http://www.dtcms.com/a/288886.html

相关文章:

  • 137. Java 泛型 - 泛型与通配符:子类型化关系
  • 【Linux】权限详解 权限本质、权限属性、su、sudo提权、chmod\chown\chgrp、文件类别
  • RxSwift-事件属性
  • Vuex 核心知识详解:Vue2Vue3 状态管理指南
  • Servlet快速入门
  • Docker在NAS部署MoonTV+OrionTV
  • 44.sentinel授权规则
  • tidyverse-数据读入
  • 基于智慧经营系统的学校住宿登记报表分析与应用探究-毕业论文—仙盟创梦IDE
  • 如何防止任务长期处于“等待”状态
  • Python基础和高级【抽取复习】
  • 基于单片机的自动条幅悬挂机
  • Leetcode 06 java
  • SpringBoot的配置文件
  • 【micro:bit】从入门到放弃(四):高级指令:函数、数组、文本、高级LED、引脚配置
  • UE蒙太奇和动画序列有什么区别?
  • 早期SD模型控制生成方法
  • Dev-C++——winAPI贪吃蛇小游戏
  • 智能制造之物料详解
  • 物联网安装调试-温湿度传感器
  • 数学专业转行做大数据容易吗?需要补什么?
  • 高性能熔断限流实现:Spring Cloud Gateway 在电商系统的实战优化
  • 本地部署 Claude 大语言模型的完整实践指南
  • 从磁记录到数据中心:磁盘原理与服务器架构的完整技术链路
  • 【C++基础】面试高频考点解析:extern “C“ 的链接陷阱与真题实战
  • 【原创】微信小程序添加TDesign组件
  • 网络安全初级(前端页面的编写分析)
  • 手写tomcat
  • JAVA学习-练习试用Java实现“贝叶斯网络:实现一个简单的贝叶斯网络用于因果推理”
  • Transient Storage