21、合并排序序列
merge-sorted-array: Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
题设要求:给定两个排序的整数数组A和B,将B合并为A作为一个排序数组。
注意:您可以假设A有足够的空间来容纳B中的其他元素。A和B中初始化的元素数分别为m和n。
分析:题目中提到可以假设A有足够的空间来容纳B中的元素(没有消除重复元素之类的额外要求),则可以考虑将B中的元素添加到A中,然后对A进行排序即可。
代码如下:
import java.util.Arrays;
public class Solution{
public static void main(String[] args)
{
Solution sl = new Solution();
int m=4;
int[] B= {4,5,6};
int n=B.length;
int[] A= new int[m+n];
A[0]=1;
A[1]=2;
A[2]=3;
A[3]=4;
sl.merge(A, m, B, n);
for(int i=0;i<m+n;i++)
{
System.out.print(A[i]);
}
}
public void merge(int A[], int m, int B[], int n)
{
for(int i=0;i<n;i++)
{
A[m+i]=B[i];
}
Arrays.sort(A);
}
}