私はHaskellの関数で、IntsとIntのリストを受け取ります。指定された合計でサブリストを見つける
返されるのは、元のリストの数値のリストを含むサブリストです。例えば
:私はまで働いていた何
sublistSums [1, 5, -2, 4, 3, 2] 2
[[1,-2,3],[-2,4],[2]]
:そう
sublistSums [] num = []
sublistSums (x:xs) num
| findSum x xs num == num = findSum x xs num 0 : sublistSums (x:xs) num
| otherwise = sublistSums xs num
findSum x [] num count = []
findSum x (y:ys) num count
| ...
findSum
は、私はそれはそれは数まで追加(例えば番号のリストを返す必要が作られたヘルパー関数は、 )。
私はこれまで少し混乱しています。 findSum
が繰り返し同じリストを何度も何度も私に与えないようにするにはどうすればいいですか?
引数の順序を逆にしたほうがいいかもしれません。なぜなら、 'sublistSum n'は' sortのような一連の操作で使用できるからです。サブリスト2。 $ {1..10] ' –
興味深い...心に留めておきます。 –