利用字元重複出現的次數,編寫乙個方法,實現基本的字串壓縮功能。比如,字串「aabcccccaaa」經壓縮會變成「a2b1c5a3」。若壓縮後的字串沒有變短,則返回原先的字串。
給定乙個string inistring為待壓縮的串(長度小於等於10000),保證串內字元均由大小寫英文本母組成,返回乙個string,為所求的壓縮後或未變化的串。
測試樣例
「aabcccccaaa」
返回:「a2b1c5a3」
「welcometonowcoderrrrr」
返回:「welcometonowcoderrrrr」
取第乙個字串為temp,從第二個開始依次遍歷字串,如果和前面一樣,則num+1,如果不相等,則把前面的字串和num儲存到乙個空串中,重置num和temp。注意迴圈結束,還要做一次把前面的字串和num儲存到結果串中。
class
zipper
:def
zipstring
(self, inistring)
: lenstr =
len(inistring)
temp = inistring[0]
num =
1 res =
''for i in
range(1
,lenstr)
:if inistring[i]
!= temp:
res += temp+
str(num)
num =
1 temp = inistring[i]
else
: num +=
1 res += temp+
str(num)
iflen
(res)
>
len(inistring)
:return inistring
else
:return res
字串 字串壓縮
標題 字串壓縮 類別字串處理 時間限制 1s記憶體限制 1000kb 問題描述 有一種簡單的字串壓縮演算法,對於字串中連續出現的同乙個英文本元,用該字元加上連續出現的次數來表示 連續出現次數小於3時不壓縮 例如,字串aaaaabbbabaaaaaaaaaaaaabbbb可壓縮為a5b3aba13b4...
字串壓縮
include using namespace std 題目描述 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcb...
字串壓縮
通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1 僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2 壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...