和为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;
}
};
查看11道真题和解析