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

时间:2021-04-17 05:24:27

合并两个排序的整数数组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;
}
}