首页 > 其他 > 详细

Merge Sorted Array

时间:2014-10-26 22:46:07      阅读:172      评论:0      收藏:0      [点我收藏+]

级别简单,用了额外的空间,不知道这个可不可以改进,最后到时ac了。

public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int res[] = new int[m + n];
        int pm = 0;
        int pn = 0;
        int i = 0;

        for (; i < m + n; i++) {

            if (pm == m) {
                if (pn == n) {
                    break;
                } else {
                    res[i] = B[pn];
                    pn++;
                }
            } else if (pn == n) {
                if (pm == m) {
                    break;
                } else {
                    res[i] = A[pm];
                    pm++;
                }
            } else {
                res[i] = (A[pm] > B[pn] ? B[pn] : A[pm]);
                if (A[pm] > B[pn]) {
                    pn++;
                } else {
                    pm++;
                }
            }
        }

        for (int j = 0; j < m + n; j++) {
            A[j] = res[j];
        }

    }
}

 

Merge Sorted Array

原文:http://www.cnblogs.com/bluedreamviwer/p/4052833.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!