Java如何获取数组交集(需考虑重复数字)
1、实现自定义的二分查找算法:
1. 借助类库提供的方法,从指定索引开始通过二分查找获取目标值的索引
2. 如果索引有效,则继续向左侧寻找,找到区间内第一个值等于目标值的索引

2、实现排序后二分查找算法
1. 对数组排序
2. 遍历一个数组,并在另一个中通过自定义的二分查找算法获取索引值,如果能够找到,则添加到目标数组中,并将该索引值作为下次搜索的起始索引。

3、编写测试方法。

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

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

6、算法时间复杂度总结:时间复杂度为 O(nlogn), n 为较长数组的长度;中间使用了一个临时数组空间,因此空间复杂度为 O(m), m 为较短数组的长度。

阅读量:90
阅读量:143
阅读量:120
阅读量:176
阅读量:101