初级算法合并两个有序数组 合并两个有序数组

本题地址: 点击我跳转本题地址
1.题目: (合并两个有序数组)
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目 。
请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列 。
注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中 。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略 。nums2 的长度为 n。
2. 示例
【初级算法合并两个有序数组合并两个有序数组】3.解答步骤
思路都在注释上! 请大家自主阅读程序!
? 本篇注意点: 本题主要思想
答: 因为要将两个?有序数组,归并且保持有序 。则需要对比两个数组的元素值,较小的一个放到临时数组,并且移动下标,依次对比,完成归并有序数组 。
class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {// 创建一个用于存放合并排序后的数组int[] tempArray = new int[m + n];// 创建一个用于遍历i,j的下标int i,j;i=j=0;// 创建一个temp数组的下标int tempIndex=0;// 进行一个while循环// 依次从两个数组的初始位置开始比较// 将较小的一方放到临时数组while(i
4. 提交结果(提交用时和内存消耗)