題目:給定字串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...