问题标签 [run-length-encoding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
866 浏览

matlab - 在MATLAB中计算连续整数序列的长度

我想计算连续整数序列的所有长度并将它们作为向量返回。例如,考虑向量: x = [1 2 3 4 6 8 9 10 12 13];

长度将是:

所以,我想要生成的结果是:

我怎样才能做到这一点?

0 投票
1 回答
616 浏览

java - 运行长度编码 - 解压缩 (Java)

我正在使用 RLE,我正在尝试用 Java 创建一个解压缩程序。我有:

但这对我不起作用。我有用户输入,如 a2b3 和输出 aabbb 它不能被硬编码

0 投票
4 回答
1848 浏览

performance - Run-length decoding in MATLAB

For clever usage of linear indexing or accumarray, I've sometimes felt the need to generate sequences based on run-length encoding. As there is no built-in function for this, I am asking for the most efficient way to decode a sequence encoded in RLE.

Specification:

As to make this a fair comparison I would like to set up some specifications for the function:

  • If optional second argument values of same length is specified, the output should be according to those values, otherwise just the values 1:length(runLengths).
  • Gracefully handle:
    • zeros in runLengths
    • values being a cell array.
  • Output vector should have same column/row format as runLengths

In short: The function should be equivalent to the following code:

Examples:

Here are a few test cases

and their output:

0 投票
0 回答
23 浏览

filesystems - 为什么 ext 文件系统会跟踪文件单独使用的每个块?

http://www.nongnu.org/ext2-doc/ext2.html#I-BLOCK我了解到,如果文件使用块 11、12、13、14、15,则值 11、12、13、14 , 和 15 存储在 inode 的前 5 个(十二个)“直接块”条目中。

为什么不使用一系列“范围”来代替,因为这会大大减少文件块号所需的存储空间。

有了上面,愚蠢的例子,它将从 5 个元素缩小到 2 个元素。

具有 1000 个块的文件在两次运行中将从 1000 个元素缩减到 4 个元素,这意味着它可以完全避免使用间接块。

没有做这个简单的优化的原因是什么?

0 投票
3 回答
1793 浏览

arrays - 查找二进制数组中连续的个数

我想在 MATLAB 的逻辑数组中找到所有系列的 1 和 0 的长度。这就是我所做的:

这有效,并给出seriesOnes = [4 2 5]and seriesZeros = [3 1 6]。然而,在我看来它是相当丑陋的。

我想知道是否有更好的方法来做到这一点。性能不是问题,因为它很便宜(A不超过几千个元素)。我正在寻找代码清晰和优雅。

如果没有更好的办法,我就把它放在一个小辅助函数中,这样我就不用看它了。

0 投票
1 回答
1031 浏览

java - 运行长度编码二维数组

我试图找出二维数组中的运行长度编码。我用 0 和 1 随机填充了我的尺寸 x 尺寸板。然后我的程序运行曲折行走(起始位置 = 右上角)以读取该模式中的 0 和 1。这对我有用,如下所示。但是,我需要帮助阅读连续的 0 或 1,并计算它们每次出现的次数。这是一个例子:

这是我到目前为止所拥有的。

为了执行 rlc[][],我想每次 A[r][c] 从 0 变为 1 或反之亦然,记录并重置计数。但是我该如何整合它。rlc[][] 将如何记住这一点?从示例中可以看出,rlc[][] 以两列的格式显示(一列表示 0 或 1,第二列表示计数)。欣赏任何想法。谢谢。

0 投票
2 回答
113 浏览

r - 根据R代码中特定值的运行长度计算变量

我有一个这样的数据集,

如果我认为每一行都是为个人设置的。我想根据运行计算一个名为“indicator”的指标变量。例如,个体 1 运行是 (0,0,1,1,1),对于这个反向长度的运行,值第一个 1 是 3。另一方面,对于个体 3 运行是 (0,1,1,0, 1),值前1,s的向后运行长度为1。所需的数据集是这样的。

我试过这种方式,

但这给出了这样的数据,

任何机构都可以帮我解决这个问题吗?

0 投票
1 回答
163 浏览

c# - 一种更快的解压文本文件的方法,它使用一种独特的压缩形式

我不知道这种类型的压缩是否在其他地方使用,但这就是它的工作原理。它使用 4 个字符。第一个字符“ú”表示紧随其后。接下来的 2 个字符以十六进制表示,第 4 个位置有多少要重复。例如:

22ú05hú0C0AFC001

将会:

22hhhhh000000000000AFC001

我能够做到这一点,但它运行非常缓慢。一个 20k 的文件可能需要 5 分钟或更长时间。

这是我的代码:

有没有更好的办法?

0 投票
3 回答
3693 浏览

c - C中的RunLength解码

这是我的运行长度解码程序。但是将输出作为垃圾值提供。方法中的输出char *decode_rle(char *a,int length)是正确的,但是当它返回到主函数时它是错误的。

0 投票
4 回答
155 浏览

matlab - 计算矩阵列中的运行

我有一个随机散布1s的矩阵:-1s0s

输入:

我想计算nonzero元素在一列中重复的次数,以产生如下内容:

基本思想是(由@rayryeng 提供)对于独立的每一列,每次你点击一个唯一的数字时,你都会开始增加一个累积的运行计数器,并且每次你点击与前一个相同的数字时它都会增加。一旦你击中一个新数字,它就会重置为 1,除了你击中 0 的情况,那就是 0

预期输出:

实现此目的最干净的方法是什么?