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

2021-09-25 09:12:51 字數 643 閱讀 8570

041和為s的連續正數序列

題目描述:

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

輸出描述:

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

方法:雙指標滑動塊法

思路:這道題借鑑了左神的雙指標法,根據兩個指標可以控制乙個滑塊的區域(包含的連續正整數),如果滑塊裡的值小於給定值,就把最前面的指標往前移,增大滑塊的空間。如果滑塊裡的值大於給定值,就將最後面的指標往前移,縮小滑塊的空間,如果等於,就把滑塊中所有的正整數用list裝著,然後把最前面的指標前移,尋找下乙個

**:

public arraylist> findcontinuoussequence(int sum) 

res.add(list);

low++;

}else if(num}

return res;

}

劍指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...