字符串擦除字符並壓縮
阿新 • • 發佈:2019-01-23
題目 壓縮 空間 out class bsp pre 10個 組成
題目描述 Description
給出一個全部由小寫字母和數字組成的字符串。請先將這個字符串中的數字全部擦除。然後為了將這個字符串存儲起來,並且盡可能地節省空間,現在將多個連續出現的相同字母,改寫成這個字母本身後面跟上最長的連續的個數的形式。比如"...baaaaac..."這個部分可以改寫成"...ba5c..."(連續出現的個數可能會超過10個)。如果字符一個個單獨出現,則不需要壓縮。給出一個 字符串,試著輸出經處理的結果。
輸入描述 Input Description
一行,一個字符串,含有小寫字母和數字
輸出描述 Output Description
處理之後的字符串的結果
樣例輸入 Sample Input
aaaaaa5bbbb323b2g
樣例輸出 Sample Output
a6b5g
1 #include <iostream> 2 #include <string.h> 3 #include <cstdio> 4 5 using namespace std; 6 7 char s[1000],t[1000]; 8 int main() 9 { 10 gets(t); 11 int j=0,k=0,cnt; 12 for(int i=0;i<strlen(t);i++) 13 { 14 if(t[i]>=‘a‘&&t[i]<=‘z‘) 15 { 16 s[j]=t[i]; 17 j++; 18 } 19 } 20 while(s[k]!=‘\0‘) 21 { 22 cnt = 1; 23 cout<<(s[k]); 24 k++; 25 while(s[k]==s[k-1]) 26 { 27 cnt++; 28 k++; 29 }30 if(cnt>1) 31 cout<<(cnt); 32 } 33 34 return 0; 35 }
字符串擦除字符並壓縮