题解 | #合并两个有序的数组#

合并两个有序的数组

http://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

双指针 ,分区

/**
 *
 * @param A int整型一维数组
 * @param B int整型一维数组
 * @return void
 */
function merge(A, m, B, n) {
  // write code here
  let pn = n - 1,
    pm = m - 1,
    pmn = m + n - 1;
  while (pmn >= 0) {
    if (pn < 0 || pm < 0) {
      if (pm < 0) {
        A[pmn] = B[pn];
        pn--;
      } else {
        A[pmn] =  A[pm];
        pm--;
      }
    } else {
      if (A[pm] > B[pn]) {
        A[pmn] = A[pm];
        pm--;
      } else {
        A[pmn] = B[pn];
        pn--;
      }
    }
    pmn--;
  }

  return A;
}
module.exports = {
  merge: merge,
};

全部评论

相关推荐

牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务