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

相关推荐

完美的潜伏者许愿简历...:隐藏信息被你提取出来了,暗示,这就是暗示
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
简历当中有水分算不算造假...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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