我有一个由0和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
,因为它们一次只给我一个元素。我可以尝试fold
与一些特殊类型的累加器,但这似乎并不理想,我不知道它甚至可能(由于monad法则)。
是你的数组吗?如果不是:你想要每行的编码还是n-dim事物的一维表示? – sdx23
@ sdx23我的数组是一维的。 – Valerie94
修理不是为这种事情做的。你会更好地使用其他任何东西......为什么你需要维修? – Alec