字串的統計字串

2021-09-25 00:17:05 字數 1279 閱讀 2243

題目:給定乙個字串str,返回str的統計字串。例如,「aaabbadddffc」的統計字串為「a_3_b_2_1_d_3_f_2_c_1」。

補充題目:給定乙個字串的統計字串cstr,再給定乙個整數index,返回cstr所代表的原始字串上第index個字元。例如,」a_1_b_100」所代表的原始字串上第0個字元是『a』,第50個字元是『b』。

基本思路:原問題 從左到右遍歷str,如果發現當前字元不等於前乙個字元,就將之前的字元和頻數新增到新的字串

def getcountstring(strs):

if strs==none or strs=='':

return

num = 1

res = strs[0]

for i in range(len(strs)-1):

if strs[i]==strs[i+1]:

num +=1

else:

res = res + "_" + str(num) + "_" + strs[i+1]

num =1

return res + "_" + str(num)

getcountstring('aaabbadddffc')

補充題目。

使用posi用來判斷當前字元是字母字元還是數字字元,true表示字母字元,false表示數字字元。

初始時令posi = true。從左到右遍歷字串,如果遇到『_』,就反轉posi。

每當遇到下乙個字母,就將之前的字母以及頻數加到新字串。

注意處理字串的結尾。

def getstrsindex(strs,index):

if strs == none or strs == '' or index < 0:

return ''

posi = true

num = 0

sum_ = 0

for i in range(0,len(strs)):

if strs[i]=='_':

posi = bool(1-posi)

elif posi:

sum_ += num

if sum_ > index:

return cur

cur = strs[i]

num = 0

else:

num = num * 10 + int(strs[i])

return cur if sum_ + num > index else ''

字串的統計字串

給定乙個字串,統計每乙個字母的出現次數 比如aabbccc,列印出來就是a 2 b 2 c 3 思路還是採取遍歷,注意這幾個題的思路都比較類似 要注意這裡的sstream 這裡的clear 並非清空了緩衝區,而只是重置標誌,如果要重置緩衝區,則應為ss.str include include usi...

字串問題 字串的統計字串

題目 給定乙個字串str,返回str的統計字串。例如,aaabbadddffc 的統計字串為 a 3 b 2 1 d 3 f 2 c 1 補充題目 給定乙個字串的統計字串cstr,再給定乙個整數index,返回cstr所代表的原始字串上第index個字元。例如,a 1 b 100 所代表的原始字串上...

統計字串

題目 計算字串中字母 數字 其他字元的個數。datas segment buf db 80 len db string db 80 dup 32 crlf db 13,10,displ db the amount of letters is 13,10,dispd db the amount of ...