有序数组合并,例如:

数组 A=[100, 89, 88, 67, 65, 34],

B=[120, 110, 103, 79]

合并后的结果 result=[120, 110, 103, 79, 100, 89, 88, 67, 65, 34]

程序:

  1. import java.util.Arrays;
  2.  
  3. public class Test {
  4.  
  5. public static void main(String[] args) {
  6. int[] a = { 100, 89, 88, 67, 65, 34 };
  7. int[] b = { 120, 110, 103, 79 };
  8. int a_len = a.length;
  9. int b_len = b.length;
  10. int[] result = new int[a_len + b_len];
  11. // i:用于标示a数组 j:用来标示b数组 k:用来标示传入的数组
  12. int i = 0;
  13. int j = 0;
  14. int k = 0;
  15. while (i < a_len && j < b_len) {
  16. if (a[i] >= b[i])
  17. result[k++] = a[i++];
  18. else
  19. result[k++] = b[j++];
  20. }
  21.  
  22. // 后面连个while循环是用来保证两个数组比较完之后剩下的一个数组里的元素能顺利传入
  23. while (i < a_len) {
  24. result[k++] = a[i++];
  25. }
  26.  
  27. while (j < b_len) {
  28. result[k++] = b[j++];
  29. }
  30.  
  31. System.out.println(Arrays.toString(a));
  32. System.out.println(Arrays.toString(b));
  33. System.out.println(Arrays.toString(result));
  34. }
  35. }

结果:

  1. [100, 89, 88, 67, 65, 34]
  2. [120, 110, 103, 79]
  3. [120, 110, 103, 79, 100, 89, 88, 67, 65, 34]

java 有序数组合并的更多相关文章

  1. Java-Runoob-高级教程-实例-数组:07. Java 实例 – 数组合并

    ylbtech-Java-Runoob-高级教程-实例-数组:07. Java 实例 – 数组合并 1.返回顶部 1. Java 实例 - 数组合并  Java 实例 以下实例演示了如何通过 List ...

  2. 两个有序数组合并成一个有序数组(要求时间复杂度为O(n))

    面试题: 怎样把两个有序数组合并成有序数组呢 逻辑步骤: 1.假设两个数组为A和B 2.A和B都是从小到大的顺序进行排列 ** 1.我们可以直接比较两个数组的首元素,哪个小就把这个小元素放入可变数组. ...

  3. [codevs3296]有序数组合并

    题目描述 Description 合并两个有序数组A和B,使得结果依然有序. 进阶:合并两个有序数组A和B,假设A有n个数,B有m个数,A数组后面还有m个空余空间,需要将结果保存在A中. 请使用O(n ...

  4. [CODEVS3299]有序数组合并求第K大问题

    题目描述 Description 给出两个有序数组A和B(从小到大有序),合并两个有序数组后新数组c也有序,询问c数组中第k大的数 假设不计入输入输出复杂度,你能否给出一个O(logN)的方法? 输入 ...

  5. 3299 有序数组合并求第K大问题

    题目描述 Description 给出两个有序数组A和B(从小到大有序),合并两个有序数组后新数组c也有序,询问c数组中第k大的数 假设不计入输入输出复杂度,你能否给出一个O(logN)的方法? 输入 ...

  6. 两个有序数组合并为一个有序数组---python

    def merge(a, b): """ 合并2个有序数组,默认a,b都是从小到大的有序数组 """ # 1.临时变量 i, j = 0, ...

  7. Python3将两个有序数组合并为一个有序数组

    [本文出自天外归云的博客园] 第一种思路,把两个数组合为一个数组然后再排序,问题又回归到冒泡和快排了,没有用到两个数组的有序性.(不好) 第二种思路,循环比较两个有序数组头位元素的大小,并把头元素放到 ...

  8. Java有序数组的实现

    package 有序数组; public class OrdArray { private long[]array; private int nElems; //初始化 public OrdArray ...

  9. PAT 1029 Median (25分) 有序数组合并与防坑指南

    题目 Given an increasing sequence S of N integers, the median is the number at the middle position. Fo ...

随机推荐

  1. ==还款-代偿(csv循环自动代偿)

    问题: 解决:传递参数错误,上一步就错了 问题:代偿返回这些信息 解决:传递参数错误,应该为${repayWay1},但是一直写的是${repayWay} 问题:如何从csv文件中逐条取项目编号,进行 ...

  2. 爬取豆瓣电影排行top250

    功能描述V1.0: 爬取豆瓣电影排行top250 功能分析: 使用的库 1.time 2.json 3.requests 4.BuautifulSoup 5.RequestException 上机实验 ...

  3. ELK实时日志分析平台环境部署

    为什么要用到ELK一般我们需要进行日志分析场景是:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太慢怎么办 ...

  4. tomcat 编码给为utf-8

    在tomcat下找到server.xml 打开server.xml,在下图加上URIEncoding="UTF-8".

  5. CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒

    问题: CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒.拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Wind ...

  6. SSH整合时多表关联查询出现Javassist增强失败

    Customer类对应的表为另一个表LinkMan的外键,在进行LinkMan表操作时,出现如下错误. 遇到Javassist增强失败网上说法不一,有的说Customer没有无参构造方法,javass ...

  7. 数据迁移时 提示 No changes detected

    1.删除数据库中django_migrations 中对应的信息 2.删除app下的migrations对应的文件 3.重新执行就可成功 如不成功 ,直接删库 ,重新迁移

  8. 从Redis中删除大集合对象的方法

    Redis中的大集合对象,如set.zset等,如果有上千万个元素,一般是不能直接用del命令来删除的,因为del命令可能会耗时几秒钟,而redis本身是单线程的,在高并发的情况下会阻塞大量的请求,严 ...

  9. Excel VBA附合导线平差自动计算表

    这是6,7年前做的一个excel vba自动计算附合导线平差的表格. 对于做测绘的朋友来说,附合导线平差是最基础的技能,目前来说,能平差的软件和工具也很多,像南方的平差易,科傻平差.清华三维平差等,但 ...

  10. springmvc <mvc:default-servlet-handler/> & <mvc:annotation-driven>

    1. mvc 标签内部加载的基础类: 1). <mvc:view-controller> 1 org.springframework.web.servlet.handler.SimpleU ...