java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。

合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。

样例  1:
	输入: A=[1], B=[1]
	输出:[1,1]
	
	样例解释: 
	返回合并后的数组。

样例 2:
	输入: A=[1,2,3,4], B=[2,4,5,6]
	输出: [1,2,2,3,4,4,5,6]
	
	样例解释: 
	返回合并后的数组。



思路:
  先将两个数组拼接起来,然后排序。(还有简单的思路,这里暂时不实现)
实现代码:
import java.util.Arrays;
public class Solution {
    public static void main(String args[]) {
        int[] A = { 3, 2, 1, 4, 5 };
	int[] B = { 5, 4 };
	ArrayTwoInsert testArrayTwoInsert = new ArrayTwoInsert();
	testArrayTwoInsert.mergeSortedArray(A, B);
    }
 
}   
 
class Sort {
    /**
     * 数组排序算法实现
     */
    public void bubble(int[] array) {
        /**
         * 冒泡排序实现
         */
        int length = array.length;
        for (int i = 0; i < length; i++) {
            for (int j = 0; j < length - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    int tmp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = tmp;
                }
            }
        }
        System.out.println(Arrays.toString(array));
    }
    public void select(int[] array) {
		/**
		 * 选择排序实现
		 */
		int length = array.length;
		for (int i = 0; i < length; i++) {
			for (int j = i + 1; j < length; j++) {
				if (array[i] > array[j]) {
					int tmp = array[i];
					array[i] = array[j];
					array[j] = tmp;
				}
			}
		}
		System.out.println(Arrays.toString(array));
	}
}

class ArrayTwoInsert {
	/**
	 * 合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。(输入的两个数组已排序)
	 */
	public int[] mergeSortedArray(int[] A, int[] B) {
		int[] Twoarray = new int[A.length + B.length];
		for (int i = 0; i < A.length; i++) {
			Twoarray[i] = A[i];
		}
		for (int j = 0; j < B.length; j++) {
			Twoarray[A.length + j] = B[j];
		}
		Sort testSort = new Sort();
		testSort.select(Twoarray);
		System.out.println(Arrays.toString(Twoarray));
		return Twoarray;
	}
}

  

 
posted @ 2019-03-15 15:08  南非波波  阅读(3542)  评论(0编辑  收藏  举报