結合網上的解法,本身稍加修改,話很少說,直接輸出。測試
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))); } }
通過測試,能夠正常運行。歡迎留言交流!code