1.将两个数组合并了进行全局排序
public static void merge(int[] nums1, int m, int[] nums2, int n) {
int j=0;
for(int i=m;i<m+n;i++){
nums1[i]=nums2[j++];
}
Arrays.sort(nums1);
}
2,。双指针
public static void merge(int[] nums1, int m, int[] nums2, int n) {
int[] num3=new int[m+n];
int i=0;
int j=0;
int k=0;
while(k<m+n){
if(i==m){
num3[k++]=nums2[j++];
}else if(j==n){
num3[k++]=nums1[i++];
}else if(nums1[i]<nums2[j]){
num3[k++]=nums1[i++];
}else{
num3[k++]=nums2[j++];
}
}
for (int l=0;l<nums1.length;l++){
nums1[l]=num3[l];
}
System.out.println(Arrays.toString(nums1));
}
3万+

被折叠的 条评论
为什么被折叠?



