私は関数型プログラミングと言語haskellを初めて使いました。私は、述語関数に応じて、リスト内の最も長い連続した一連の要素の長さを決定しようとしています。それは解決策6
として私を与える必要がありリスト内のHaskellの最も長い連続した一連の要素
longestSequence (\x -> x >= 10) [1,44,33,22,2,3,55,66,66,77,88,99]
:私はこのようにそれを呼び出すと
longestSequence :: (a -> Bool) -> [Int] -> Int
:関数は次のようになりますです。まだまで
私のソリューションです:私はこの問題を解決する方法の
longestSequence :: (a -> Bool) -> [a] -> Int
longestSequence p [] = 0
longestSequence p (x:xs)
| (p x) = 1 + (longestSequence p xs)
| otherwise = longestSequence p xs
任意のヒントやアイデア?
なぜあなたに6を与えなければならないのでしょうか、代わりにあなたに与えるのは何ですか? –
私は仕様を得ると思います。それは、すべてが述語を満たしている最も長い連続した一連の要素の長さです。 – luqui
私の解決策では、述語が真であれば私はすべての項目を数えているので、9を得る。 – Oni1