合并两个有序数组
题目:https://leetcode.cn/problems/merge-sorted-array/
- 两个数组是有序的,存在一个大数组 nums1、一个小数组 nums2。
- 将大数组 nums1中,有序的那部分元素 copy 出来,记为 nums1copy,采用双指针移动法,一个指针指向 nums1copy,另一个指针指向 nums2
- 哪个指针指向的元素小,就将该元素复制到原来的大数组 nums1
代码:
public class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int[] nums1copy = new int[m];
System.arraycopy(nums1, 0, nums1copy, 0, m);
//nums1copy 和 nums2 数组都是有序的
int i, j, k;
i = j = k = 0;
while (i < nums1copy.length && j < nums2.length) {
if (nums1copy[i] < nums2[j]) {
nums1[k++] = nums1copy[i++];
}else {
nums1[k++] = nums2[j++];
}
}
while (i < nums1copy.length) {
nums1[k++] = nums1copy[i++];
}
while (j < nums2.length) {
nums1[k++] = nums2[j++];
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
2016-08-21 阻塞通信之Socket编程
2015-08-21 分布式系统概念--第一篇 一致性协议、一致性模型、拜占庭问题、租约、副本协议