给定一数组,输出满足2a=b(a,b代表数组中的数)的数对,要求时间复杂度尽量低。
二分搜索是很显然的,不过这题主要考的还是看你仔不仔细。
1 有重复数据怎么办。
2 如果重复数据是0呢。
3 正数和负数混合怎么办。
要求时间复杂度越低越好,那么尽量减少数据量,所以要去重复数据,如果重复数据是0,输出(0,0),正负数分开排序和遍历,两个线程处理。即使单线程,因为nlgn非线性,二分数据也有助于时间效率的提高。
给定一数组,输出满足2a=b(a,b代表数组中的数)的数对,要求时间复杂度尽量低。
二分搜索是很显然的,不过这题主要考的还是看你仔不仔细。
1 有重复数据怎么办。
2 如果重复数据是0呢。
3 正数和负数混合怎么办。
要求时间复杂度越低越好,那么尽量减少数据量,所以要去重复数据,如果重复数据是0,输出(0,0),正负数分开排序和遍历,两个线程处理。即使单线程,因为nlgn非线性,二分数据也有助于时间效率的提高。