博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有序数组求交集
阅读量:4289 次
发布时间:2019-05-27

本文共 575 字,大约阅读时间需要 1 分钟。

14给出了我认为最简单的算法,不过其犯了一点点小错误,我修正了。

  1.   public static void test() {
  2.     int[] a = { 234444788889100130150160 };
  3.     int[] b = { 46777788910100130130140150 };
  4.     int i = 0, j = 0;
  5.     ArrayList<Integer> al = new ArrayList<Integer>();
  6.     while (i < a.length && (j < b.length)) {
  7.       if (a[i] < b[j])
  8.         i++;
  9.       else if (a[i] > b[j])
  10.         j++;
  11.       else {
  12.         al.add(a[i]); // 这里应该先加入,然后再加1
  13.         i++;
  14.         j++;
  15.       }
  16.     }
  17.     System.out.println(al);
  18.   }
运行结果为

[4, 7, 8, 8, 9, 100, 130, 150]



如果不允许重复,则使用TreeSet就行了。

  1. TreeSet<Integer> al = new TreeSet<Integer>();
运行结果

[4, 7, 8, 9, 100, 130, 150]

转载地址:http://icrgi.baihongyu.com/

你可能感兴趣的文章
聊聊CAS - 面试官最喜欢问的并发编程专题
查看>>
Spring Boot 中使用一个注解轻松将 List 转换为 Excel 下载
查看>>
高并发环境下,先操作数据库还是先操作缓存?
查看>>
MySQL Explain详解
查看>>
一直搞不清楚什么是读写分离,主从复制的原理,今天总算搞懂了
查看>>
消息队列 mq 必会面试题
查看>>
线程池的工作原理是啥?能手写一个线程池吗?
查看>>
Java程序内存的简单分析
查看>>
Javascript单例模式概念与实例
查看>>
SQL NULL 函数
查看>>
多例设计模式
查看>>
WebView的JavaScript与本地代码三种交互方式
查看>>
WebView的JavaScript与本地代码三种交互方式
查看>>
Android Studio里面配置Tesseract
查看>>
深入浅出JavaScript之this
查看>>
Android include标签的使用注意事项
查看>>
final成员变量和final局部变量
查看>>
Android数据加密之异或加密算法
查看>>
greenDao好的示例网址
查看>>
Android自定义控件--仿安全卫士中的一键加速
查看>>