鞍山做网站或,wordpress 纪念爱情,wordpress 付费下资源 插件,咨询公司取名字参考大全目录 题目1- 思路2- 实现⭐88. 合并两个有序数组——题解思路 2- ACM实现 题目
原题连接#xff1a;88. 合并两个有序数组 1- 思路
模式识别
模式1#xff1a;两个有序数组合并 —— 双指针模式2#xff1a;返回结果填充到 nums1[mn] —— 需要开辟新的数组空间 … 目录 题目1- 思路2- 实现⭐88. 合并两个有序数组——题解思路 2- ACM实现 题目
原题连接88. 合并两个有序数组 1- 思路
模式识别
模式1两个有序数组合并 —— 双指针模式2返回结果填充到 nums1[mn] —— 需要开辟新的数组空间 sorted[mn] 最后结果赋值给 nums1
思路
1.定义双指针分别指向 nums1 和 nums22.开辟新的数组空间sorted[mn] 在合并完之后赋值 2- 实现
⭐88. 合并两个有序数组——题解思路 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int[] sorted new int[mn];int si 0;int index10,index20;while(index1m index2n){if(nums1[index1]nums2[index2]){sorted[si] nums1[index1];}else{sorted[si] nums2[index2];}}while(index1m){sorted[si] nums1[index1];}while(index2n){sorted[si] nums2[index2];}// 赋值给 nums1for(int i 0 ; i mn;i){nums1[i] sorted[i];}}
}2- ACM实现
public class mergeTwoArrays {public static int[] mergeTwoArrays(int[] nums1,int m, int[] nums2,int n){int index1 0,index2 0;int si 0;int[] sorted new int[mn];while(index1m index2n){if(nums1[index1]nums2[index2]){sorted[si] nums1[index1];}else{sorted[si] nums2[index2];}}while(index1m){sorted[si] nums1[index1];}while(index2n){sorted[si] nums2[index2];}for(int i 0 ; i mn;i){nums1[i] sorted[i];}return nums1;}public static void main(String[] args) {System.out.println(输入数组1和数组2长度 m 和 n);Scanner sc new Scanner(System.in);int m sc.nextInt();int n sc.nextInt();int[] nums1 new int[mn];int[] nums2 new int[n];System.out.println(输入数组1);for(int i 0 ; i m;i){nums1[i] sc.nextInt();}System.out.println(输入数组2);for(int j 0 ; j n;j){nums2[j] sc.nextInt();}int[] res mergeTwoArrays(nums1,m,nums2,n);for(int r:res){System.out.print(r );}}
}