和为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;
    }
};
全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
牛客50327486...:腾讯官方:我们没有人机对局
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务