def string_compression(string):
compressed = []
counter = 0
for i, _ in enumerate(string):
if i != 0 and string[i] != string[i - 1]:
compressed.append(string[i - 1] + str(counter))
counter = 0
counter += 1
# add last repeated character
compressed.append(string[-1] + str(counter))
# returns original string if compressed string isn't smaller
return min(string, ''.join(compressed), key=len)
string_compression
最新推荐文章于 2021-08-21 00:58:31 发布