和为S的连续正整数序列

描述:给定一个和S,找出和为S的连续序列,如9:[2,3,4], [4,5]

分析:网上许多方法中,印象最深刻的是双指针法。两个指针限定区间的范围和大小。

vector<vector<int>> CumSum(int S)
{
  vector<vector<int>> res;
  vector<int>temp;
   int low = 1, high = 2;
   while(low<high)
   {
      // 计算当前区间的和
      int cur_sum = (low+high)*(high-low+1)/2;
      if(cur_sum == S)
      {
        for(int I = low; I<= high; I++)
          temp.push_back(i);
        res.push_back(temp);
        temp.clear();
        low++;
      }
     else
        if(cur_sum < S)
          // 区间和比S小,右边界右移,扩
          high++;
        else
          // 区间和比S大,左边界右移,缩
        low++;
  }
return res;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不...
    quiterr阅读 2,750评论 0 0
  • 算法思想贪心思想双指针排序快速选择堆排序桶排序荷兰国旗问题二分查找搜索BFSDFSBacktracking分治动态...
    第六象限阅读 10,227评论 0 0
  • 1浮动定位是指 1.1将元素排除在普通流之外,即元素将脱离标准文档流 1.2元素将不在页面占用空间 1.3将浮动元...
    FIGHTINGTOP阅读 4,871评论 0 0
  • 小时候很怕水,长大后学游泳用了很长时间,游泳课上了12节早就学会了游泳可就是死活不进深水区,后来也只是在一个我心里...
    李佳熹阅读 3,229评论 0 0
  • 意与气 书法首当有意,以意领气,以气行笔。气有清浊之分,唯清气出之,方可为书法。气唯清方可幻化出万千气象,有清逸、...
    尧山人阅读 5,169评论 1 7

友情链接更多精彩内容