I am new to haskell and I was attempting a few coding problems that I previously completed for java, however the following problem has me stumped.
Basically the idea is
This is a solution:
consecutiveOnes :: [Int] -> Bool
consecutiveOnes xs = auxOnes False xs
auxOnes :: Bool -> [Int] -> Bool
auxOnes b [] = False
auxOnes b (x:xs) = case (x==1 && b) of {
True -> True;
False -> auxOnes (x==1) xs;
};
Another way would be using the isInfixOf method and asking if [1,1] appears anywhere on your list:
consecutiveOnes :: [Int] -> Bool
consecutiveOnes xs = isInfixOf [1,1] xs
The isInfixOf function takes two lists and returns True iff the first list is contained, wholly and intact, anywhere within the second.
But I'm sure there are many other ways of doing it.