剑指offer:和为S的连续整数序列
先定义个返回值为二维数组的 FindContinuousSequence函数,有个int型的sum参数,定义保存最后结果的二维数组result,定义个动态窗,当while为真,执行循环,先定义求和的值,是第一个加最后一个一起乘n位除2,如果求和的值sunTemp等于给的sum值,那么把窗内的值放入result,如果窗内的值小于sum,那么窗右移,即high++;,如果窗内的值大于sum,那么窗右移,即low++;最后返回压入result的值!!!
class Solution { public: vector<vector<int> > FindContinuousSequence(int sum) { vector<vector<int >> result; int low =1,high =2; while(low<high){ int sumTemp = (low+high)*(high-low+1)/2; if(sumTemp==sum){ vector<int> resultTemp; for(int i =low;i<=high;++i) { resultTemp.push_back(i); } result.push_back(resultTemp); low++; }else if (sumTemp<sum) { high++; } else {low++; } } return result; } };#剑指offer##23届找工作求助阵地#