public static int[] k_merge(ArrayList<int[]> k_array) {
if(CollectionUtils.isEmpty(k_array)){
return new int[0];
}
int size = k_array.size();
int k = size;
ArrayList<int[]> objects = null;
while (k > 1) {
objects = Lists.newArrayList();
for (int i = 0; i < k; i += 2) {
if (i + 1 < k) {
int[] ints = m_merge(k_array.get(i), k_array.get(i + 1));
objects.add(ints);
} else {
objects.add(k_array.get(i));
}
}
k_array.clear();
for(int i=0;i<objects.size();i++){
k_array.add(objects.get(i));
}
k = k_array.size();
}
return objects.get(0);
} public static int[] m_merge(int[] a, int[] b) {
int a_length = a.length;
int b_length = b.length;
int[] result = new int[a_length + b_length];
int lpos = 0;
int rpos = 0; for (int i = 0; i < result.length; i++) {
if (lpos < a_length && rpos < b_length) {
if (a[lpos] <= b[rpos]) {
result[i] = a[lpos++];
} else {
result[i] = b[rpos++];
}
} else if (lpos < a_length) {
result[i] = a[lpos++];
} else if (rpos < b_length) {
result[i] = b[rpos++];
}
}
return result;
}

最新文章

  1. js中的prototype和__proto__
  2. html 上传预览图片
  3. Linux搭建Scrapy爬虫集成开发环境
  4. Python - Tips
  5. iOS 学习 - 10下载(3) NSURLSession 音乐 篇
  6. Mac按键
  7. ZipArchive和SSZipArchive使用详解
  8. Orchard常见问题
  9. secureCRT使用VIM时对语法高亮
  10. Thinkphp分页时查询条件保存方法
  11. cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(四)-马里奥平移
  12. VC2010编写Dll文件(转)
  13. http接口加密《一》:移动应用中,通过在客户端对访问的url进行加密处理来保护服务器上的数据
  14. Cocos2D v2.0至v3.x简洁转换指南(二)
  15. 安卓4.0以上系统怎么不用root激活XPOSED框架的方法
  16. unique_ptr
  17. PIGS POJ - 1149(水最大流)
  18. Solidity合约:玉米生产溯源
  19. XRP节点部署
  20. 用django框架开发一个B2C购物网站的基本流程和用到的知识点总结1

热门文章

  1. JS框架_(JQuery.js)模拟刮奖
  2. C++入门经典-例3.17-使用while循环进行计算
  3. php 发送邮件(2)qq邮箱开通
  4. Linux高级调试与优化——Address Sanitizer
  5. golang tcp keepalive实践
  6. pureftp安装部署
  7. fiddler抓取app的https的包
  8. Java学习之==&gt;条件判断、循环控制
  9. frei0r-20190715-118a589 编译 frei0r 时注意事项
  10. The window object