题目大意:给定一个整数,试从给定的vector中寻找到两个成员,使它们的和等于给定的整数。
说明:默认答案具有唯一解,且同一个成员不可以使用两次。
例子:对于[2,7,11,13],给定整数18,则应当返回成员“7”和“11”在此vector中的位置1和2。
解题思路:
刚刚看到这道题的时候感觉非常简单,但随即脑海中冒出几个问题:
1.vector中有重复元素吗?
答:这个问题比较重要,因为这关系到算法的选择。题目中并没有说明这一点,但它强调了一个成员不可以使用两次,也就相当于默认了不会有重复元素。
2.vector会有负数吗?
答:会存在负数。
明确这两点之后我就开始寻找解题思路。最“笨”的方法当前就是从头开始一个个地求和,再将结果与给定的整数比较: