hw #3. WIP
authorRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Wed, 17 Dec 2014 07:47:15 +0000 (13:17 +0530)
committerRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Wed, 17 Dec 2014 07:47:15 +0000 (13:17 +0530)
hw3/Golf.hs [new file with mode: 0644]

diff --git a/hw3/Golf.hs b/hw3/Golf.hs
new file mode 100644 (file)
index 0000000..057d284
--- /dev/null
@@ -0,0 +1,18 @@
+module Golf where
+
+-- exercise 1
+skips :: [a] -> [[a]]
+skips xs = [map snd $ filter (\(i, _) -> (i `mod` n) == 0) $ zip [1..] xs | n <- [1 .. length xs]]
+
+localMaxima :: [Integer] -> [Integer]
+-- localMaxima xs = [p <- zip [0..length xs] xs], n <- [1 .. (length xs - 1)], fst p
+localMaxima [] = []
+localMaxima [_] = []
+localMaxima [_,_] = []
+localMaxima [x,y,z] | y > x && y > z = [y]
+                    | otherwise = []
+localMaxima (x:y:z:xs) = localMaxima [x,y,z] ++ localMaxima (y:z:xs)
+
+localMaxima' :: [Integer] -> [Integer]
+localMaxima' xs = [b | [a,b,c] <- [drop (snd pair) (fst pair) | pair <- zip [[ p | p <- fst (splitAt n xs)] | n <- [3..length xs]] [0..]], b > a && b > c]
+