可以这样想,最小的数必然是从小往大开始,比如5,可以是0和5,1和4,2和3,最小的是0开始的,其他的情况也是这样,所以我们从外层循环开始,寻找满足条件最小的,在从内层循环开始寻找满足两个数相加等于满足的和。

class Solution {
public:
    vector<int> FindNumbersWithSum(vector<int> array,int sum) {
        vector<int> vec;
        int size = array.size();
        int min_num = array[size]*array[size];
        for(int i=0; i<size; i++){
            int k=0;
            for(int j=0; j<size; j++){
                if(i!=j && array[i]+array[j]==sum){
                    vec.push_back(array[i]);
                    vec.push_back(array[j]);
                    k++;
                    break;
            }
        }
            if(k!=0) break;
    }
        return vec;
    }
};