首页 > 试题广场 >

字符串的统计字符串

[编程题]字符串的统计字符串
  • 热度指数:2430 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个字符串str,返回str的统计字符串。例如“aaabbbbcccd”的统计字符串为“a_3_b_4_c_3_d_1”。

输入描述:
输入一行字符串,代表str


输出描述:
输出一行字符串,代表统计字符串。
示例1

输入

offerofferzainaliiiiii

输出

o_1_f_2_e_1_r_1_o_1_f_2_e_1_r_1_z_1_a_1_i_1_n_1_a_1_l_1_i_6
示例2

输入

hhhaaa

输出

h_3_a_3

备注:
时间复杂度,空间复杂度
import sys
line = sys.stdin.read().rstrip()
label = 0
res=[]
tmp=1
while label<len(line)-1:
    if line[label]==line[label+1] and label<len(line)-1:
        tmp+=1
        label += 1
    else:
        res.append(line[label])
        res.append(str(tmp))
        tmp=1
        label+=1
if label==len(line)-1:
    res.append(line[label])
    res.append(str(tmp))
print("_".join(res))
发表于 2021-03-25 16:37:06 回复(0)
string = input()
n = 1
result = ''
for i in range(1,len(string)):
    if string[i] == string[i-1]:
        n += 1
    else:
        result += string[i-1] + '_' + str(n) + '_'
        n = 1
result += string[len(string)-1] + '_' + str(n)
print(result)

发表于 2019-09-24 11:31:09 回复(0)