和為S的連續(xù)正整數(shù)序列

描述:給定一個和S,找出和為S的連續(xù)序列,如9:[2,3,4], [4,5]

分析:網(wǎng)上許多方法中,印象最深刻的是雙指針法。兩個指針限定區(qū)間的范圍和大小。

vector<vector<int>> CumSum(int S)
{
  vector<vector<int>> res;
  vector<int>temp;
   int low = 1, high = 2;
   while(low<high)
   {
      // 計算當(dāng)前區(qū)間的和
      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)
          // 區(qū)間和比S小,右邊界右移,擴(kuò)
          high++;
        else
          // 區(qū)間和比S大,左邊界右移,縮
        low++;
  }
return res;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 題目描述小明很喜歡數(shù)學(xué),有一天他在做數(shù)學(xué)作業(yè)時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他并不...
    quiterr閱讀 372評論 0 0
  • 算法思想貪心思想雙指針排序快速選擇堆排序桶排序荷蘭國旗問題二分查找搜索BFSDFSBacktracking分治動態(tài)...
    第六象限閱讀 4,899評論 0 0
  • 1浮動定位是指 1.1將元素排除在普通流之外,即元素將脫離標(biāo)準(zhǔn)文檔流 1.2元素將不在頁面占用空間 1.3將浮動元...
    FIGHTINGTOP閱讀 1,233評論 0 0
  • 小時候很怕水,長大后學(xué)游泳用了很長時間,游泳課上了12節(jié)早就學(xué)會了游泳可就是死活不進(jìn)深水區(qū),后來也只是在一個我心里...
    李佳熹閱讀 492評論 0 0
  • 意與氣 書法首當(dāng)有意,以意領(lǐng)氣,以氣行筆。氣有清濁之分,唯清氣出之,方可為書法。氣唯清方可幻化出萬千氣象,有清逸、...
    堯山人閱讀 1,414評論 1 7

友情鏈接更多精彩內(nèi)容