Questions tagged «encode»

对于与数据编码和解码有关的挑战。

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

12
麻省理工学院的教授可以读懂思想!
该任务摘自Devadas教授在麻省理工学院的一次演讲,名为“ 您可以读懂思想”。有关此技巧的详细说明,请参见链接的视频或本文档。我将尝试用更简单的术语进行解释。 事实证明,这是1930年代发明的,被称为“惠誉·切尼的五张牌把戏”。 诀窍如下: 从一副纸牌中选择五张随机纸牌。观众和您的助手可以看到他们,但您却没有。 您的助手(您与之练习过的助手)将选择其中的四张卡片,并按特定顺序显示给您。请注意,隐藏卡不是从5张卡中随机选择的。助手选择一张将使技巧起作用的卡。 您将根据从四张卡中收集到的信息推断出第五张卡是什么。 怎么样? 请记住以下两点: 选择5张随机卡片时,可以确保至少有两张卡片具有相同的花色1。 下图显示了一个等级为2的圆。由于是圆形,因此可以计数:J,Q,K,A,2、3(即模数)。您可以确保隐藏的卡与第一张卡的等级不同,因为它们的西装相同(如下所述)。总是可以选择第一张纸牌和隐藏的纸牌,以使隐藏的纸牌比第一张纸牌高1至6级(按圆圈数时)。如果第一张卡为1,则隐藏的卡将为2、3、4、5、6或7。如果第一张卡是J,那么隐藏的卡将是Q,K,A,2,3或4,依此类推。 算法: 第一张卡:此卡与隐藏卡的西装相同。找出隐藏卡的等级时,该卡也将用作参考点。 第二张,第三张和第四张卡解码范围为1 ... 6的值。我们将这三个卡称为S,M,L(最小卡,中间卡,最大卡)。值将按以下方式编码(字典顺序): S M L -> 1 S L M -> 2 M S L -> 3 M L S -> 4 L S M -> 5 L M S -> 6 因此,如果第一张牌的等级为5,而其余​​三张牌的等级为4 Q 7(它们被订购SLM),那么最后一张牌的等级为5 + …

30
构造身份矩阵
挑战非常简单。给定整数输入n,输出n x n单位矩阵。单位矩阵是1从左上角到右下角的s 矩阵。您将编写一个程序或函数来返回或输出您构造的身份矩阵。您的输出可能是2D数组,或者是由空格/制表符和换行符分隔的数字。 输入和输出示例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], …

30
2的幂和
挑战 给定一个整数输入x其中1 <= x <= 255,返回时总结给出了两种力量的结果x。 例子 给定输入: 86 您的程序应输出: 64 16 4 2 输入: 240 输出: 128 64 32 16 输入: 1 输出: 1 输入: 64 输出: 64 如果总和中没有确定的2的幂,则输出可能包含零。 例如,输入65可以输出0 64 0 0 0 0 0 1。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜。
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

12
您学会了fib-abc吗?
我不喜欢数字,但是我喜欢斐波那契数列。我相信我们可以解决一些问题。 请从STDIN 读取一个整数n,然后将以n为底的26的第n个斐波那契数(abcdefghijklmnopqrstuvwxyz而不是0123456789)输出到STDOUT。 第一个斐波那契数为0。第二个斐波那契数为1。第n个斐波那契数是第n -2个和第n -1个斐波那契数之和。 前32个fib-abc数字: fib(0) = a fib(1) = b fib(2) = b fib(3) = c fib(4) = d fib(5) = f fib(6) = i fib(7) = n fib(8) = v fib(9) = bi fib(10) = cd fib(11) = dl fib(12) = fo fib(13) = iz fib(14) …

3
救命!我的计算器坏了!(将整数表达式转换为计算器按键)
介绍 救命!我不小心将TI-84计算器掉到了窗外(不要问怎么做),它坏了。我明天要进行数学测试,唯一能找到的计算器就是这些按钮: 7 8 9 + 4 5 6 - 1 2 3 * 0 = / 我的数学测试是关于评估表达式的复习测试。我需要一个程序来接受诸如的表达式1+(5*4)/7,并将其转换为在备用计算器上求解所需的击键。(如果您想知道,这确实发生在我身上)。 挑战 鉴于含有非空输入串仅字符0-9,(,),+,-,*,和/,输出以空间分隔的字符串的键击(例如1 + 3 / 3 =)。输出末尾必须始终有一个等号。不允许出现标准漏洞。 例子: 输入:1+(5*4)/7,输出:5 * 4 / 7 + 1 = 输入:6*(2/3),输出:2 / 3 * 6 = 输入:(7-3)/2,输出:7 - 3 / 2 = 为了使这个挑战更容易: 您可能假定输入具有一系列与其关联的击键,不需要清除计算器(这1-(7*3)是无效的,因为它需要您查找7 * 3然后清除计算器才能进行1 …

10
最短的唯一标识子字符串
给定一个字符串列表,请用其非空子字符串之一替换每个字符串,该子字符串不是列表中任何其他字符串的子字符串,并且应尽可能短。 例 给定list ["hello","hallo","hola"],"hello"应替换为,"e"因为该子字符串未包含在其中"hallo","hola"并且它尽可能短。"hallo"可通过任一取代"ha"或"al"并"hola"通过任何"ho","ol"或"la"。 规则 您可以假定字符串将为非空,并且仅包含大小写相同的字母字符。 您可以假定列表中的每个字符串都存在这样的子字符串,即列表中的任何字符串都不是其他任何字符串的子字符串。 输入和输出可以采用任何合理的格式。 这是code-golf,因此请尝试使用您选择的语言使用尽可能少的字节。 测试用例 在大多数情况下,仅给出一种可能的输出。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 相关:最短识别子字符串 -类似的想法,但涉及更多规则和繁琐的格式。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

23
编码-随机播放-解码
挑战 您的任务是将整数编码为ASCII字符的字符串,然后在所述字符串被随机混洗后成功解码。 您将编写两个程序/函数,分别称为Encoder和Decoder。 编码器 输入:在范围内的整数。ññn[ 0 ,231− 1 ][0,231-1个][0,2^{31}-1] 输出:一个字符串sss的ASCII字符(不一定打印)。 解码器 输入:字符串s的随机排列s′s′s'。sss 输出:整数ññn。 计分 令一种一种A为s在所有可能值n上的最大长度。如果编码器不确定地起作用(允许,请参见下文),则A将是s可能出现的最大长度(可能为∞)。sssññn一种一种Asss∞∞\infty 令大号Ë大号ËL_E为编码器的长度(以字节为单位),大号d大号dL_D为解码器的长度(以字节为单位)。 然后你的分数是甲⋅ (大号Ë+ Ld)一种⋅(大号Ë+大号d)A\cdot(L_E+L_D)。 提交的分数最低的是胜利。 时限 对于单个测试用例(即n的单个值),编码器和解码器的执行时间都存在1分钟的任意时间限制。ññn 目的是避免通过枚举具有某些属性的所有序列来发现强行编码的解决方案。如果您的解决方案做的比这更聪明,那么它很可能会符合时间限制,并被认为是有效的。同样,如果它在TIO上对ññn一些随机选择值起作用,则将其视为有效。否则,我将在我的机器上对其进行测试,但是请注意,如果您的解决方案是纯蛮力的,则几乎肯定会失败。 规则 该编码器和解码器必须写在同一语言。 对于编码器返回的字符串s的每个可能的排列s ',解码器必须输出正确的整数ññn。s′s′s'sss 该编码器和解码器都不会允许共享信息(通过全局变量或文件的方式,比如)以任何方式。 所述的输出编码器不需要不是确定性的(即,相同的输入ññn如果可以产生不同的输出串的编码器被运行多次),但解码器必须始终猜测正确的整数ññn。 的编码器和解码器可以采取,并返回整数ññn在任何方便的方式(例如,如果n = 14ñ=14n=14是细的输入是14,"14"或[1,4])。 所述编码器可输出的串sss由任一印刷其上stdout 或通过返回一个字符串,一个列表/字符数组或范围内的整数列表/阵列[ 0 ,127 ][0,127][0,127] ; 请注意,解码器将接收输入的置换sss被返回的编码器,所以它应该接受字符串s′s′s'在相同的格式为sss。 禁止出现标准漏洞。 如果可能,请说明您的代码如何工作以及您要求的分数为什么正确。 例 假设n = 14ñ=14n=14。 所述编码器接收14作为输入。它可能输出"qwerty"。 该解码器接收的置换"qwerty"作为输入,例如"tweyqr"。它必须输出14(以任何方便的格式)。 该编码器可能返回[113,119,101,114,116,121],以及,在这种情况下,解码器将已收到(例如)[116,119,101,121,113,114]。 请注意,编码器返回的字符串也可能包含不可打印的ASCII字符(但始终在范围内[0x00, ..., …

3
原子比例游戏
您的任务是使机器人扮演得分最高的Atomas。 游戏的运作方式: 游戏板以6个“原子”的环开头,数字范围为1到3。您可以“玩”两个原子之间或另一个原子上的原子,具体取决于原子本身。 您可以有一个普通原子,也可以有一个特殊原子。 正常原子: 您可以在板上任意两个可用原子之间播放普通原子。 您从处于该范围内的原子开始1 to 3,但是该范围每40移动一次就增加1(因此,在40移动之后,范围变为2 to 4)。 如果板上的原子小于该范围,则有1 / no. of atoms of that number on the board可能产生。 假设您有一个2要玩的地方,董事会看起来像这样: 1 1 2 1 让我们将放在的2右侧1。 董事会现在变成: 1 1 2 1 2 注意:木板环绕,所以1最左侧的实际上2是最右侧的旁边。稍后将很重要。 有“特殊”原子的4种类型,它们是: 的+原子: 这个原子在两个原子之间起作用。它有五分之一的机会产卵。 如果原子两侧的+原子相同,则会发生聚变。运作方式如下: The two atoms fuse together to create an atom one higher. …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

14
这是一个截断的三角形数字吗?
相关OEIS序列:A008867 截断三角数 三角数的一个共同属性是它们可以排列成三角形。例如,取21并排列成os 的三角形: Ø OO oo oo oo oo 让我们定义一个“截断:”从每个角切割相同大小的三角形。截断21的一种方法如下: 。 。。 oo oo 。oo。 。。哦。。 (的三角形.是从原始三角形切出的)。 o剩下12 秒,因此12是一个截断的三角形数字。 任务 您的工作是编写一个程序或函数(或等效函数),该程序或函数采用整数并返回(或使用任何标准输出方法)数字是否为截断的三角形数字。 规则 没有标准漏洞。 输入是非负整数。 切口的边长不能超过原始三角形的一半(即,切口不能重叠) 切口的边长可以为零。 测试用例 真相: 0 1 3 6 7 10 12 15 18 19 虚假: 2 4 5 8 9 11 13 14 16 17 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

7
混淆达科他州[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为话题成为Code Golf Stack Exchange。 2年前关闭。 您已被北达科他州政府雇用来加密该州的通讯。编写两个程序,一个用于加密消息,另一个用于解密该消息。 政府并不真正精通技术,因此加密算法不需要复杂。只需确保结果乍一看看上去与原始图像不相似。 但是,您暗中忠于南达科丹州政府。您的工作是将通信混在一起,以便每次提及North Dakota都South Dakota在解密时进行,反之亦然。这也适用于North/South Dakotan和North/South Dakotans。 例如: 北达科他州是北美最富有的县,而南达科他州比南佛罗里达州更贫穷。-北达科丹州政府 将经过加密然后解密,结果是: 南达科他州是北美最富有的县,而北达科他州比南佛罗里达州更贫穷。-南达科丹州政府 以最秘密,最棘手的方式完成此任务的算法(如投票最多)将被接受。

7
移至可打印的ASCII前端
背景 所述移动至前的变换(MTF)是一种数据编码算法旨在提高熵编码技术的性能。 在bzip2压缩算法中,它是在Burrows-Wheeler变换(如Burrows,Wheeler和Back所示)之后应用的,目的是将重复的字符组转换为小的,易于压缩的非负整数。 定义 为了解决这一挑战,我们将定义MTF的可打印ASCII版本,如下所示: 给定输入字符串s,取空数组r,所有可打印ASCII字符(0x20至0x7E)的字符串d,并对s的每个字符c重复以下操作: 追加的索引Ç在d到ř。 将c移到d的前面,即,从d移走c并将它放在其余的前面。 最后,我们将r的元素作为原始 d中的索引,并获取相应的字符。 分步示例 INPUT: "CODEGOLF" 0. s = "CODEGOLF" d = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [] 1. s = "ODEGOLF" d = "C !\"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [35] 2. s = "DEGOLF" d = "OC !\"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" r = [35 47] 3. s = …

13
逆排列索引
介绍 具有n个元素的列表的字典排列可以从0到n编号!-1.例如3!= 6个置换(1,2,3)将是(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)。 将排列应用于列表时,其元素的排列顺序与排列中的数字相同。例如,将置换(2,3,1)应用于l = (a,b,c)yield (l[2],l[3],l[1]) = (b,c,a)。 排列的逆定义为颠倒此操作的排列,即应用排列,然后其逆(反之亦然)不会修改数组。例如,(2,3,1)is 的逆(3,1,2),因为将其应用于(b,c,a)yields (a,b,c)。 同样,应用于排列本身的排列的逆值会产生整数1… n。例如,应用(3,1,2)到(2,3,1)产率(1,2,3)。 现在,我们将函数revind(x)定义为索引为x的排列的逆排列的索引。(如果您有兴趣,这是A056019。) 由于与指数置换我只修改了最后ķ列表中的项目当且仅当 0≤ 我 < ķ!,我们可以添加任意数量的元素到列表的开始,而不会影响revind(我)。因此,列表的长度不影响结果。 挑战 您的任务是实现revind(x)。您将编写一个完整的程序或函数,以单个非负整数x作为输入/参数,并以单个非负整数输出/返回结果。 输入和输出可以是0索引或1索引,但是它们之间必须保持一致。 禁止按索引生成排列,返回排列的索引或找到逆排列的内建函数。(允许生成所有排列或下一个排列的构建体。) 适用标准代码高尔夫球规则。 例子 下面的示例是0索引的。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

10
素数编码
编码如何工作 给定一个位列表: 拿一个素数(以开头2) 有清单 对于输入中的每一位 如果与上一位相同,则将您持有的素数添加到列表中 如果不同,请按住下一个素数并将其添加到列表中 返回列表中所有数字的乘积 对于第一位,假设前一位是 0 注意:这些步骤仅用于说明目的,您无需执行这些步骤。 例子 Input: 001 hold 2 0: add 2 to the list 0: add 2 to the list 1: hold 3, add 3 to the list list: 2,2,3 Output: 12 Input: 1101 hold 2 1: hold 3, add 3 to …

4
实现bzip2的行程编码
背景 应用BWT(在Burrows,Wheeler和Back中看到)和MTF(在Move到可打印的ASCII front中看到)之后,bzip2压缩器应用了一种相当独特的游程长度编码形式。 定义 出于这一挑战的目的,我们将转换BRLE定义如下: 给定仅包含ASCII字符且代码点在0x20和0x7A之间的输入字符串s,请执行以下操作: 用单次出现的字符替换每次运行的相等字符,并在第一个字符之后存储重复次数。 使用双射基数2以及符号和和对字符首次出现后的重复次数进行编码。{} 非负整数n被编码为字符串b k …b 0,使得n = 2 k i(b k)+ ... + 2 0 i(b 0),其中i({)= 1和i(})= 2。 请注意,此表示始终是唯一的。例如,数字0被编码为空字符串。 插入大括号字符串,该字符串编码相应字符单次出现后的重复次数。 分步示例 Input: "abbcccddddeeeeeffffffggggggghhhhhhhh" Step 1: "abcdefgh" with repetitions 0, 1, 2, 3, 4, 5, 6, 7 Step 2: "" "{" "}" "{{" "{}" …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.