2

あるタイプのリストのリストがあるとします。次のように (ある意味で) 回転できますか?

[[a,b],    [[b,d],
 [c,d]] =>  [a,c]]

サイズリストは?または、サイズ 6x6 のリストだけで任意のサイズのリストが不可能な場合

4

2 に答える 2

9

次のようにすると、目的の出力が得られます。

import Data.List (transpose)

rotate :: [[a]] -> [[a]]
rotate = reverse . transpose

テスト:

*Main> rotate [[1,2],[3,4]]
[[2,4],[1,3]]
*Main> rotate [[1,2,3],[4,5,6],[7,8,9]]
[[3,6,9],[2,5,8],[1,4,7]]
于 2013-10-28T02:45:04.443 に答える