日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符串的统计字符串

發布時間:2025/4/5 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串的统计字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:給定一個字符串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 = 1res = strs[0]for i in range(len(strs)-1):if strs[i]==strs[i+1]:num +=1else:res = res + "_" + str(num) + "_" + strs[i+1]num =1return 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 = Truenum = 0sum_ = 0for i in range(0,len(Strs)):if Strs[i]=='_':posi = bool(1-posi)elif posi:sum_ += numif sum_ > index:return curcur = Strs[i]num = 0else:num = num * 10 + int(Strs[i])return cur if sum_ + num > index else ''

?

總結

以上是生活随笔為你收集整理的字符串的统计字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。