算法题:整型数组找 a 和 b,使得 a + b = n

来自:58同城2016研发工程师笔试题


题目:

数组 A 由 1000 万个随机正整数 (int) 组成,设计算法,给定整数 n,在 A 中找出 a 和 b,使其符合如下等式:


n = a + b 


说明算法思路以及时间复杂度是多少?



将数组排序,杂度n*logn在从头开始,假设第i个位置时arr[i],那就在 i1000万之间找 n - arr[i] 二分查找的效率是logn,由于当arr[i] > n/2 时就不用找了,所以最终效率2*n*logn















猜你喜欢

转载自blog.csdn.net/ls1120623840/article/details/78258214