Java如何获取两个数组的交集

时间:2024-10-15 04:45:28

1、编写函数获取两个有序数组outerArray 和 innerArray 的交集,因为需要嵌套循环,基于性能,调用方法时,outerArray 的长度应该小于等于 innerArray 的长度。

Java如何获取两个数组的交集

2、编写函数,获取两个数组的交集:先将两个数组排序(快速排序),然后再根据数组长度调用第一步的函数获取交集。

Java如何获取两个数组的交集

3、编写测试方法

Java如何获取两个数组的交集

4、运行测试方法,观察控制台输出,符合预期

Java如何获取两个数组的交集

5、平台提交算法,测试通过

Java如何获取两个数组的交集

6、算法总结:该题目可以直接通过双层遍历和集合来获取交集,但这种算法的时间复杂度较高,为 O(n*m) (n、m为两个数组的长度),通过排序后二分查找算法,时间复杂度降为 O(n*logm) (n<=m) ,性能提升比较明显。

Java如何获取两个数组的交集
© 手抄报圈