剑指offer:和为S的两个数字

先定义个返回值为数组型的函数,有两个参数(数组array、整数sum),也是定义个窗,先定义的这个窗是整个数组的长度,当low<high时,定义个整数sumTemp,它是数组array的头和尾的相加,如果正好等于sum,则输出头和尾组合成的数组,当sumTemp>sum时,把窗的右边往左移,当sumTemp<sum时,把窗的左边往右移,最后输出数组result!!!

class Solution{
public:
vector<int> FindNumbersWithSum(vector<int> array,int sum){
    int low=0,high=array.size()-1;
    vector<int> result;
    while(low<high){
        int sumTemp =array[low]+array[high];
        if(sumTemp==sum){
            result.push_back(array[low]);
            result.push_back(array[high]);
            return result;     
        }
        else if(sumTemp>sum) high--;
        else  low++;
    }
    return result;
}
};

#剑指offer##23届找工作求助阵地#
全部评论

相关推荐

我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务