题解 | #合并两个有序的数组#
合并两个有序的数组
https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665
/**
*
* @param A int整型一维数组
* @param B int整型一维数组
* @return void
*/
function merge(A, m, B, n) {
// write code here
let p2 = n - 1,
p1 = m - 1,
p = m + n - 1;
while (p >= 0) {
if (p2 < 0 || p1 < 0) {
if (p1 < 0) {
A[p] = B[p2];
p2--;
} else {
A[p] = A[p1];
p1--;
}
} else {
if (A[p1] > B[p2]) {
A[p] = A[p1];
p1--;
} else {
A[p] = B[p2];
p2--;
}
}
p--;
}
return A;
}
module.exports = {
merge: merge,
};
*
* @param A int整型一维数组
* @param B int整型一维数组
* @return void
*/
function merge(A, m, B, n) {
// write code here
let p2 = n - 1,
p1 = m - 1,
p = m + n - 1;
while (p >= 0) {
if (p2 < 0 || p1 < 0) {
if (p1 < 0) {
A[p] = B[p2];
p2--;
} else {
A[p] = A[p1];
p1--;
}
} else {
if (A[p1] > B[p2]) {
A[p] = A[p1];
p1--;
} else {
A[p] = B[p2];
p2--;
}
}
p--;
}
return A;
}
module.exports = {
merge: merge,
};