字串的壓縮 待修訂

2021-06-26 05:38:52 字數 796 閱讀 7631

題目:給定字串s="aabbbcccdaaa",要求將連續字元進行壓縮,例如s壓縮後結果為「a2b3c3d1a3」,但是類似「abc」的字串不進行壓縮,即壓縮後結果仍為"abc"

思路:遍歷字串s,判斷連續相鄰兩個字元是否相等,並進行計數。否則將該字串及相應的計數器值放入結果字串。

具體**實現:

#include#include#include//字串壓縮:如aaabbbbccd--->a3b4c2d1,abcdefgh--->abcdefgh

//c、c++ 記憶體占用總結:1棧(stack)由編譯器自動分配釋放,存放函式引數值,

//區域性變數值等;2堆(heap)一般由程式設計師分配式樣,否則程式結束時由操作系

//統** 3全域性區(靜態區static)全域性變數和靜態變數放在一起 初始化的全域性

//變數和靜態變數在一塊區域,未初始化的全域性變數和未初始化的靜態變數在相鄰

//的另一塊區域。程式結束後由系統釋放;4常量區,程式執行結束由系統釋放

char* strcompress(char *str){//單個字元連續長度不超過10

int i=0,j=0,k,p,flag=1,length=strlen(str);

char* result;

int count = 1;

char *ccount = (char*)malloc(length*sizeof(char));

result = (char*)malloc(length*sizeof(char)); //堆上分配記憶體,當前函式執行結束,不會被**

for(i=0;i

字串 字串壓縮

標題 字串壓縮 類別字串處理 時間限制 1s記憶體限制 1000kb 問題描述 有一種簡單的字串壓縮演算法,對於字串中連續出現的同乙個英文本元,用該字元加上連續出現的次數來表示 連續出現次數小於3時不壓縮 例如,字串aaaaabbbabaaaaaaaaaaaaabbbb可壓縮為a5b3aba13b4...

字串壓縮

include using namespace std 題目描述 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcb...

字串壓縮

通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1 僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2 壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...