1

结合网上的解法,自己稍加修改,话不多说,直接输出。

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)));
    }
}

经过测试,可以正常运行。欢迎留言交流!


子瞻
78 声望7 粉丝

孜孜不倦,舍近求远~~~~~