【发布时间】:2015-05-10 03:51:18
【问题描述】:
在一次 Java 开发人员采访中,我问了这个问题:
给定两个整数数组,打印出第一个数组中不存在于第二个数组中的值。总时间复杂度应该是O(n)。
我想出的方法是:
- 使用哈希表存储第二个数组的值。
- 现在检查哈希表中是否存在第一个数组的值。如果没有,请打印这些值。
还有其他更有效的方法来实现吗?
【问题讨论】:
-
数组是否排序?如果没有对数组进行排序,我不确定这在 O(n) 中是否可行。排序的最小理论复杂度为 n log n,已经不符合要求。
-
@DanSimmons 没有未排序的数组
标签: java arrays sorting data-structures