0

私はこのタイプのリストを扱っています:

data Elem = Dot | Star

最初のリストはリスト内の「スター」のシーケンスの長さを示し、2番目のリストはこのシーケンスが表示される場所を示します(最初の位置は1です)。おそらく組み込み関数を使用せずに。

機能は次のとおりです。

occ :: [Elem] -> [(Int, [Int])]

編集:私の考えは、問題を2つの機能に分割することです。1つはすべての「星」の位置を見つけるためのもので、もう1つは場所をリストするためのものです。

EDIT2: 例:

occ [Dot,Star,Dot,Star,Dot,Star,Star,Star]

[(1,[2,4]), (3,[6])]

EDIT3: http://pastebin.com/uvvXBARL

4

1 に答える 1