本关任务:参照教材,实现行程编码算法。 测试说明 测试输入:AAAAAACTEEEEEHHHHHHHSSSSSSSS 预期输出:6A1C1T5E7H8S 测试输入:BBFFF 预期输出:2B3F python用最最最基础的语言写出代码
时间: 2024-09-10 20:28:20 浏览: 54
麻雀搜索算法原理、测试函数及matlab代码
5星 · 资源好评率100%
行程编码算法是一种数据压缩技术,它通过记录字符出现的次数和字符本身来压缩数据。具体实现时,可以通过遍历输入的字符串,记录每个字符连续出现的次数,然后按照“字符+次数”的格式输出。下面是使用Python最基础的语言实现行程编码算法的代码:
```python
def run_length_encoding(input_string):
if not input_string:
return ""
# 初始化变量
encoded_string = ""
count = 1
# 遍历字符串中的每个字符,除了最后一个字符
for i in range(len(input_string) - 1):
# 如果当前字符和下一个字符相同,则计数器加1
if input_string[i] == input_string[i + 1]:
count += 1
else:
# 否则,将当前字符及其计数追加到结果字符串中
encoded_string += str(count) + input_string[i]
# 重置计数器为1
count = 1
# 处理最后一个字符及其计数
encoded_string += str(count) + input_string[-1]
return encoded_string
# 测试输入
test_input1 = "AAAAAACTEEEEEHHHHHHHSSSSSSSS"
print(run_length_encoding(test_input1)) # 预期输出:6A1C1T5E7H8S
test_input2 = "BBFFF"
print(run_length_encoding(test_input2)) # 预期输出:2B3F
```
运行这段代码,你可以得到预期的输出结果。代码中的`run_length_encoding`函数负责实现行程编码算法,它遍历输入的字符串,统计每个字符连续出现的次数,并将其以字符串形式返回。
阅读全文