gpt4 book ai didi

用于符号序列的 C++ 和 RLE

转载 作者:行者123 更新时间:2023-11-27 23:28:17 25 4
gpt4 key购买 nike

我对如何在符号序列上使用 RLE 有困难。

例如,我可以对像这样的字符串进行 RLE 编码

"ASSSAAAEERRRRRRRR" 

将转换为:

"A1S3A3E2R8".

但我想对像这样的字符串执行 RLE

"XXXYYYYY(1ADEFC)(EDCADD)(1ADEFC)(1ADEFC)(1ADEFC)"

将转换为:

"X3Y5(1ADEFC)1(EDCADD)1(1ADEFC)3"

有办法到达吗?这项工作变得容易一些,因为长字符串总是跟在括号中。可以给出在 C++ 中执行此操作的建议吗?
如果有比使用括号更好的存储值的方法,推荐给我也很棒。

最佳答案

你应该把这个问题分解成更小的部分。首先,您应该有一个函数来标记您的流并返回每个单独的部分。对于此示例输入流:

"XXXYYYYY(1ADEFC)(EDCADD)(1ADEFC)(1ADEFC)(1ADEFC)"

此函数将返回以下元素,每次调用一个:

X
X
X
Y
Y
Y
Y
Y
(1ADEFC)
(EDCADD)
(1ADEFC)
(1ADEFC)
(1ADEFC)
<eof>

如果您正确实现了这个函数,那么您已经为单个字符实现的 RLE 算法应该很容易适应以支持更长的字符串。

关于用于符号序列的 C++ 和 RLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7705086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com