Home > プログラミング > 順列を内包表記で in Haskell

順列を内包表記で in Haskell

書くとこうなる

perm [] = []
perm [a] = [[a]]
perm (x:xs) = [ take i y ++ (x:drop i y) | y <- perm xs, i <- [1..length xs]]

ちなみに,y と i の生成順を逆にすると遅くなる.内側が先に確定して外側に行くので.

★下記に2つの英単語をスペースで区切って入力してください

Home > プログラミング > 順列を内包表記で in Haskell

Search
Feeds

Page Top