和為S的連續正數序列 兩種思路

2021-09-26 14:50:24 字數 752 閱讀 4977

小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和為s的連續正數序列? good luck!

輸出所有和為s的連續正數序列。序列內按照從小至大的順序,序列間按照開始數字從小到大的順序
題目是讓找連續序列,轉化為找左右邊界,由左右邊界可以通過簡單的數學公式計算出累加和。

左邊界從1開始迴圈,然後找尋右邊界,找右邊界,右邊界找法是二分搜尋的思路。

vector> findcontinuoussequence(int sum) 

else if (nsum > sum)

else

} }return res;

}

把左右邊界當成乙個滑動視窗,每次只滑動乙個邊界,並且滑動方向只能是右邊。剛開始左邊界固定在1,右邊界開始滑動。

class solution 

vector> findcontinuoussequence(int sum)

res.push_back(vec);

l++;

r++;

} else if (nsum < sum)

else

} return res;

}};

和為S的連續正數序列

題目描述 小明很喜歡數學,有一天他在做數學作業時,要求計算出9 16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100 至少包括兩個數 沒多久,他就得到另一組連續正數和為100的序列 18,19,20,21,22。現在把問題交給你,你能不能也很快的...

和為S的連續正數序列

小明很喜歡數學,有一天他在做數學作業時,要求計算出9 16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100 至少包括兩個數 沒多久,他就得到另一組連續正數和為100的序列 18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和...

和為S的連續正數序列

小明很喜歡數學,有一天他在做數學作業時,要求計算出9 16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100 至少包括兩個數 沒多久,他就得到另一組連續正數和為100的序列 18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和...