Anonymous - 2008-03-11 06:56:50
—Here’s my Haskell version that I wrote on seeing the problem. I didn’t use any dicts or hashes, just sorting.
import Data.List import Data.Ord
states = [“alabama”,“alaska”,“arizona”,“arkansas”,“california”,“colorado”, “connecticut”,“delaware”,“florida”,“georgia”,“hawaii”,“idaho”, “illinois”,“indiana”,“iowa”,“kansas”,“kentucky”,“louisiana”, “maine”,“maryland”,“massachusetts”,“michigan”,“minnesota”, “mississippi”,“missouri”,“montana”,“nebraska”,“nevada”, “newhampshire”,“newjersey”,“newmexico”,“newyork”,“northcarolina”, “northdakota”,“ohio”,“oklahoma”,“oregon”,“pennsylvania”,“rhodeisland”, “southcarolina”,“southdakota”,“tennessee”,“texas”,“utah”,“vermont”, “virginia”,“washington”,“westvirginia”,“wisconsin”,“wyoming”]
lettersets = sortBy (comparing fst) [(sort(x++y),(x,y))|x<-states, y<-states, x < y]
main = print [r | r <- groupBy (\(a,)(b,)->a==b) lettersets, length r > 1]
formatting is with Textile syntax. Comments are not displayed until they are approved by a moderator. Moderators will not approve unless the comment contributes value to the discussion.
Anonymous - 2008-03-11 06:56:50
—Here’s my Haskell version that I wrote on seeing the problem. I didn’t use any dicts or hashes, just sorting.
import Data.List
import Data.Ord
states = [“alabama”,“alaska”,“arizona”,“arkansas”,“california”,“colorado”,
“connecticut”,“delaware”,“florida”,“georgia”,“hawaii”,“idaho”,
“illinois”,“indiana”,“iowa”,“kansas”,“kentucky”,“louisiana”,
“maine”,“maryland”,“massachusetts”,“michigan”,“minnesota”,
“mississippi”,“missouri”,“montana”,“nebraska”,“nevada”,
“newhampshire”,“newjersey”,“newmexico”,“newyork”,“northcarolina”,
“northdakota”,“ohio”,“oklahoma”,“oregon”,“pennsylvania”,“rhodeisland”,
“southcarolina”,“southdakota”,“tennessee”,“texas”,“utah”,“vermont”,
“virginia”,“washington”,“westvirginia”,“wisconsin”,“wyoming”]
lettersets = sortBy (comparing fst)
[(sort(x++y),(x,y))|x<-states, y<-states, x < y]
main = print [r | r <- groupBy (\(a,)(b,)->a==b) lettersets, length r > 1]