压缩字符串

题目描述

实现一个算法来压缩一个字符串。压缩的要求如下 1.需要判断压缩能不能节省空间,仅在压缩后字符串比原字符串长度更短时进行压缩。 2.压缩的格式是将连续相同字符替换为字符 +数字形式,例如"AAABCCDDDD"变为"A3BC2D4"。

输入描述

输入一行字符串,长度不超过 500.

输出描述

输出一行。若输入的字符串可压缩,则输出压缩后的字符串,否则输出 NO。

MyCode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def yasuo(txt):
a=1
txt+="@"
result=""
for i in range(len(txt)-1):
if txt[i]==txt[i+1]:
a+=1
else:
if a!=1:
result += txt[i] + str(a)
else:
result+=txt[i]
a=1
return result
a=input()
if len(yasuo(a))<len(a):
print(yasuo(a))
else:
print("NO")

压缩字符串
https://ianwusb.blog/2024/03/17/压缩字符串/
作者
Ianwusb
发布于
2024年3月17日
许可协议