資料結構 演算法之(029)( 字串原地壓縮)

2021-09-07 04:29:52 字數 515 閱讀 8507

題目:

字串原地壓縮,題目描寫敘述:"eeeeeaaaff" 壓縮為"e5a3f2",請程式設計實現

題目分析:

1、原地壓縮,意思是不開闢額外的空間

2、應該考慮單個字元不壓縮,比方『q』壓縮過後還是『q』,而不應該是『q1』

3、壓縮後某個字元個數是多位數,

演算法實現:

#include #include #include char *str_res(char *str)

return str;

}char *int_to_str(int num)

*str = '\0';

return str_res(s);

}char *str_compress(char *str)

slow = fast;

} *r = '\0';

return str;

}int main(int argc, char *argv)

資料結構與演算法(32) 字串演算法

檢查字串p是否是字串t的子串。因為要檢查整個定長的字串p,所以有時候這些演算法稱為精確字串匹配演算法。為了便於討論,假設給定的字串t長度為n,要匹配的字串p的長度為m 方法一 蠻力法 思路 檢查text中每乙個可能位置,檢查pattern是否匹配。由於text的長度為n,所以有n m 1個可選的位置...

資料結構3 字串

string的基本操作函式要會,拷貝,查詢 hw筆試第一題,兩個字串,前面是全量字符集,後面是已占用字符集 用 隔開 輸出剩餘的字符集。1 include2 include3 using namespace std 4string stringoperate string str1,string s...

資料結構和演算法之美 32 字串匹配演算法

單模式串匹配的演算法,也就是乙個串跟乙個串進行匹配。包括bf演算法和rk演算法。也就是在乙個串中同時查詢多個串,它們分別是trie 樹和ac 自動機。bf 演算法是最簡單 粗暴的字串匹配演算法,它的實現思路是,拿模式串與主串中是所有子串匹配,看是否有能匹配的子串。所以,時間複雜度也比較高,是 o n...