多语言展示
当前在线:981今日阅读:138今日分享:34

Java如何原地合并两个有序数组

题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 nums1 继续为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n,并且数组 nums1 有充足空间容纳两个数组的所有元素。核心考点:插入排序的算法实现。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

编写代码,嵌套循环两个数组,执行插入排序图示,数组 nums2 放在外层循环,数组 nums1 放在内层循环,遍历 nums2, 为每个元素查找在 nums1 中的插入位置即可。

2

编写代码,输出数组指定长度的元素图示,遍历数组,输出指定长度的数组元素

3

编写测试代码图示,主方法中,构建两个有序数组 nums1 和 nums2,  前者初始包含 3 个元素,实际长度为 6 ,后者包含3个元素,实际长度为 3,分别输出两个数组,并调用方法进行合并,再次输出合并后的数组。

4

运行测试代码,并在平台提交算法实现图1示,运行主方法,观察控制台的输出,符合预期图2示,在平台提交算法,测试通过

注意事项
1

注意,其中一个数组已经有充足空间容纳两个数组的元素,无需再申请额外空间进行处理

2

这到算法题目考察的就是插入排序算法的实现

推荐信息