今天做了一道字串壓縮的演算法題,原題的輸入字串長度都固定了,突然想到如果輸入不固定,也就是不知道要輸入的字串長度的話,那應該怎麼做呢?c++中stl裡的vector是個不錯的選擇。
通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。
壓縮規則:
1. 僅壓縮連續重複出現的字元。比如字串"abcbc"由於無連續重複字元,壓縮後的字串還是"abcbc".
2. 壓縮欄位的格式為"字元重複的次數+字元"。例如:字串"***yyyyyyz"壓縮後就成為"3x6yz"
要求實現函式:
void stringzip(const vector&pinputstr, long linputlen,
vector&poutputstr);
【輸入】 pinputstr: 輸入字串
linputlen: 輸入字串長度
【輸出】 poutputstr: 輸出字串;
示例 輸入:「cccddecc」 輸出:「3c2de2c」
輸入:「adef」 輸出:「adef」
輸入:「pppppppp」 輸出:「8p」
**:#include #include #include #include using namespace std;
void stringzip(const vector&pinputstr, long linputlen, vector&outputstr);
int main()
cout<&pinputstr, long linputlen, vector&poutputstr)
; char result[100];//用於存方出現的字元,不重複
int k=0;
if(ptemp.empty() || n < 0)
return;
for(int i=0; i
字串壓縮演算法
最近我研究出來一種對字串壓縮的演算法,雖然還有一定的缺陷。就是如果字串中的字母過多的話,壓縮效率會大大降低。這個演算法主要是為壓縮數字設計的。現在把原始碼共享出來,希望大家多提意見。using system namespace new919.encrypt private static string...
字串壓縮演算法
時間限制 1秒 空間限制 32768k12 34輸入一串字元,請編寫乙個字串壓縮程式,將字串中連續出現的重複字母進行壓縮,並輸出壓縮後的字串。例如 aac 壓縮為 1ac xyyyyyyzbbb 壓縮為 3x5yz2b 輸入描述 任意長度字串 輸出描述 壓縮後的字串 輸入例子1 xyyyyyyzbb...
字串壓縮演算法
輸入一串字元,請編寫乙個字串壓縮程式,將字串中連續出現的重複字母進行壓縮,並輸出壓縮後的字串。例如 aac 壓縮為 1ac xyyyyyyzbbb 壓縮為 3x5yz2b任意長度字串壓縮後的字串 xyyyyyyzbbb3x5yz2b小紅書19年校招題,這道題在刷pat乙級的時候有寫到過類似的題 pa...