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

相关推荐

10-29 16:42
门头沟学院 Java
1.今天什么国标的公司打电话约面试,还得准备ppt,好麻烦,网上查薪资一般,打算拒了,不面了2.字节又复活了,什么安全开发,也不知道怎么样,面一面试试吧,还是挺想去字节的,但好难,随缘吧所以今天没面试
嵌入式的小白:面试前可以好好准备下 1.看看你投递的岗位的岗位描述,分析下是哪个业务线,同使要罗列他们描述中提到的技术点 2.根据1中的两点准备 3.岗位描述中应该还有语言要求,这个刷刷八股,要是对自己语言能力很有把握,那就不用看这点了 4.找下你简历中项目部分,看有没有和岗位描述中技术点重合的,这种在面试提到项目时,是高概率问题 好好准备,祝你面试顺利
我的求职进度条
点赞 评论 收藏
分享
LXXXXd:有点杂,想搞自动化的话没必要把法律的经历写上去
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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