0と1からなる1次元のRepa
配列があり、そのランレングスエンコーディングを計算したいと思います。 例:[0,0,1,1,1,0,0,0,1,0,1,1] into [2,3,3,1,1,2]
などと似ています。 (私は可読性のためにリスト表現を使用しています)Repa配列のランレングス符号化
理想的には、私は1のランレングスを望み、0を無視します。 だから[0,0,1,1,1,0,0,0,1,0,1,1] becomes [3,1,2]
。
私は結果が(Repa
)アレイであることを望みます。
Repa
を使ってどうすればいいですか? map
またはtraverse
は、一度に1つの要素しか与えられないため、使用できません。私はfold
アキュムレータのいくつかの特別な種類としようとすることができますが、それは理想的ではないようだと私はそれも(モナドの法律のため)可能ですそれを知らない。
アレイは一次元ですか?そうでない場合:各行のエンコーディング、またはn次元のものの一次元表現のエンコードを行いますか? – sdx23
@ sdx23私の配列は1次元です。 – Valerie94
Repaはこの種のものには作られていません。あなたは何か他のものを使うのが良いでしょう...なぜあなたはレパを必要としますか? – Alec