合并两个排序的整数数组A和B变成一个新的数组。
注意事项
你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。
样例
给出 A = [1, 2, 3, empty, empty], B = [4, 5]
合并之后 A 将变成 [1,2,3,4,5]
class Solution {
public:
/**
* @param A: sorted integer array A which has m elements,
* but size of A is m+n
* @param B: sorted integer array B which has n elements
* @return: void
*/
void mergeSortedArray(int A[], int m, int B[], int n) {
// write your code here
while(n){
if(m==0){
for(int i=0;i<n;i++){
A[i]=B[i];
}
break;
}
if(B[n-1]>=A[m-1]){
A[m+n-1]=B[n-1];
n--;
}
else{
A[n+m-1]=A[m-1];
m--;
}
}
}
};
如有问题请留言。
转载请先联系博主,谢谢。
合并排序数组
本文介绍了一种高效的算法,用于合并两个已排序的整数数组A和B。特别地,考虑到A数组有足够的空间来容纳B数组的所有元素,我们提出了一种从后向前插入的方法,以最小化元素移动。
6760

被折叠的 条评论
为什么被折叠?



