劍指offer 和為S的連續正數序列

2021-10-08 13:37:45 字數 563 閱讀 5203

題目描述:

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

輸出描述:

輸出所有和為s的連續正數序列。序列內按照從小至大的順序,序列間按照開始數字從小到大的順序

題解:

class

solution

else

if(temp > sum)

else

}return res;}}

;

解題思路:

左右雙指標,左閉右開。

左指標的範圍到sum左中點,過了的話是不可能有連續和的。

比sum大了就把左邊取掉,小了就加上右邊的。如果成功找到乙個序列後,也是要吧左邊的向前移動。

劍指offer 和為S的連續正數序列

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

劍指offer 和為S的連續正數序列

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

劍指offer 和為 s 的連續正數序列

輸入乙個正數 s,列印出所有和為 s 的連續正數序列 至少兩個數 例如輸入 15,由於 1 2 3 4 5 4 5 6 7 8 15,所以結果打出 3 個連續序列 1 5 4 6 和 7 8。考慮用兩個數 small 和 big 分別表示序列的最小值和最大值。首先把 small 初始化為 1,big...