结合网上的解法,自己稍加修改,话不多说,直接输出。
public class MergeSortArrays {
public static int[] merge(int [] num1,int [] num2){
int[] result=new int[num1.length+num2.length];
int i=0,j=0,k=0;
while(i<num1.length && j< num2.length){
if(num1[i]<=num2[j]){
if(k>=1 && result[k-1] == num1[i]){
i++;
continue;
}
result[k]=num1[i];
i++;
k++;
} else {
if(k>=1 && result[k-1] == num2[j]){
j++;
continue;
}
result[k]=num2[j];
k++;
j++;
}
}
while(i<num1.length){
if(k>=1 && result[k-1] == num1[i]){
i++;
continue;
}
result[k]=num1[i];
i++;
k++;
}
while(j<num2.length){
if(k>=1 && result[k-1] == num2[j]){
j++;
continue;
}
result[k]=num2[j];
j++;
k++;
}
return Arrays.copyOf(result,k);
}
public static void main(String[] args) {
int[] a = {1,1,2,5,9,50};
int[] b = {1,2,2,3,4,6,8,9,10,10,60};
System.out.println(JSON.toJSONString(merge(a,b)));
}
}
经过测试,可以正常运行。欢迎留言交流!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。