题解 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];
        } 
      }
    }
}
全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
明天不下雨了:这个项目 这个简历 这个模板 莫不是一个开源的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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