找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 667|回复: 2
收起左侧

[资源分享] 34 Merge Sorted Arrays II

[复制链接]

48

主题

5

精华

383

积分

高级会员

Rank: 3Rank: 3

积分
383

最佳新人

发表于 6-3-2015 12:25 AM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 kamia 于 6-2-2015 11:26 PM 编辑

Mergesort

  1.     public static int[] mergeSortedArrays(int [][] a) {
  2.         if(a.length == 0 || a[0].length == 0)   return new int[]{};
  3.         return helper(a, 0, a.length-1);
  4.     }

  5.     private static int[] helper(int[][] a, int i, int j) {
  6.         if(i == j)  return a【i】;
  7.         int mid = i + (j-i)/2;
  8.         int[] l1 = helper(a, i, mid);
  9.         int[] l2 = helper(a, mid+1, j);
  10.         return merge(l1, l2);
  11.     }

  12.     private static int[] merge(int[] a, int[] b) {
  13.         int[] c = new int[a.length+b.length];
  14.         int i = 0, j = 0, k = 0;
  15.         while(i < a.length && j < b.length) {
  16.             if(a【i】 <= b[j]) {
  17.                 c[k++] = a[i++];
  18.             } else {
  19.                 c[k++] = b[j++];
  20.             }
  21.         }
  22.         while(i < a.length) {
  23.             c[k++] = a[i++];
  24.         }
  25.         while(j < b.length) {
  26.             c[k++] = b[j++];
  27.         }
  28.         return c;
  29.     }
复制代码


发表于 6-3-2015 10:31 AM | 显示全部楼层
Great post~~~
我们始终相信IT会持续改造甚至创新传统行业,我们始终全面看好咱们的CS专业!
回复

使用道具 举报

2

主题

0

精华

100

积分

资深会员

Rank: 2

积分
100
发表于 2-27-2016 02:42 PM | 显示全部楼层
helpful
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表