我正在研究Haskell中的函數,它接收Ints和Int列表。查找具有指定總和的子列表
它返回的是一個子列表,其中包含原始列表中包含的數字列表,該列表將添加到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這樣的一系列操作中。 sublistSum 2。過濾器(不,甚至)$ [1..10]' –
有趣...我會記住,謝謝 –