合并两个排序的整数数组A和B变成一个新的数组。
样例:给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]
挑战:你能否优化你的算法,如果其中一个数组很大而另一个数组很小?
题目代码:
class Solution {
public:
/**
* @param A: sorted integer array A
* @param B: sorted integer array B
* @return: A new sorted integer array
*/
vector<int> mergeSortedArray(vector<int> &A, vector<int> &B) {
// write your code here
int a=A.size();
int b=B.size();
int c=a+b;
vector<int> C(c);
int i=0,j=0,k=0;
while(i<a&&j<b){
if(A[i]<=B[j]){
C[k++]=A[i++];
}else{
C[k++]=B[j++];
}
}
while(i<a) C[k++]=A[i++];
while(j<b) C[k++]=B[j++];
return C;
}
};