题解 Java 简洁 | #合并两个有序的数组# [P3]

合并两个有序的数组

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

就双指针,但是要从大到小放,不然会overwrite还没用到的elem in A[].

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
      int a = m, b = n;
      while (a + b > 0) {
        int id = a + b - 1;
        if (a == 0) { A[id] = B[--b]; } 
        else if (b == 0) { A[id] = A[--a]; }
        else {
          A[id] = A[a-1] > B[b-1] ? A[--a] : B[--b];
        } 
      }
    }
}
全部评论

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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