Jump to content

Two sum: Difference between revisions

290 bytes added ,  7 years ago
→‎Haskell - Returning all matches: Added a version using more list comprehension sugaring
(→‎Haskell - Returning all matches: Added a version using more list comprehension sugaring)
Line 328:
main :: IO ()
main = mapM_ print $ sumTo 21 [0, 2, 11, 19, 90, 10]</lang>
 
Or, resugaring a little:
<lang Haskell>sumTo :: Int -> [Int] -> [(Int, Int)]
sumTo n ns =
let ixs = zip [0 ..] ns
in [ (i, j)
| (i, x) <- ixs
, (j, y) <- ixs
, (i < j) && (x + y) == n ]
 
main :: IO ()
main = print $ summingPairIndices 21 [0, 2, 11, 19, 90, 10]</lang>
{{Out}}
<pre>(1,3)
9,659

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.