*
* @param A int整型一维数组
* @param B int整型一维数组
* @return void
*/
function merge( A, m, B, n ) {
// write code here
var p = m + n - 1,p1 = m - 1,p2 = n - 1;
while(p1 >= 0 || p2 >= 0){
if(p1 == -1){
A[p--] = B[p2--];
}
if(p2 == -1) break;
if(A[p1] > B[p2]){
A[p--] = A[p1--];
}
else{
A[p--] = B[p2--];
}
}
}
module.exports = {
merge : merge
};
复杂度:
- 时间:O(M + N);
- 空间:O(1).