能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。
假如有如下的两个数组,如图所示:
5,6,1,4,7,9,8
给定Sum= 10
1,5,6,7,8,9
给定Sum= 10
分析与解法
这个题目不是很难,也很容易理解。但是要得出高效率的解法,还是需要一番思考的。
解法一
一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字。
显然其时间复杂度为N