和为s的两个数
和为S的两个数字
http://www.nowcoder.com/questionTerminal/390da4f7a00f44bea7c2f3d19491311b
看了题解上大神的方法,都是双指针法,增加答案的多样性,于是我将我穷举法ac的答案贴了出来
class Solution { public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { vector<vector<int>> vec; vector<int> ans; for(int i=0;i<array.size();i++){ int s = 0; for(int j=i;j<array.size();j++){ for(int k=i+1;k<array.size();k++){ s = array[j] + array[k]; if(s == sum){ ans.push_back(array[j]); ans.push_back(array[k]); vec.push_back(ans); ans.clear(); break; } } } } int min = vec[0][0]*vec[0][1]; for(vector<int> ans:vec){ if(min>ans[0]*ans[1]){ min = ans[0]*ans[1]; } } vector<int> res; for(vector<int> ans:vec){ if(min == ans[0]*ans[1]){ res = ans; } } return res; } };