c 行程長度編碼 題解與做題感想

2021-08-21 05:53:12 字數 979 閱讀 1131

時間限制: 1 sec  記憶體限制: 128 mb

在資料壓縮中,乙個常用的途徑是行程長度壓縮。對於乙個待壓縮的字串而言,我們可以依次記錄每個字元及重複的次數。這種壓縮,對於相鄰資料重複較多的情況比較有效。 例如,如果待壓縮串為"aaabbbbcbb",則壓縮的結果是(a,3)(b,4)(c,1)(b,2)。當然,如果相鄰字元重複情況較少,則壓縮效率就較低。

現要求根據輸入的字串,得到大小寫不敏感壓縮後的結果(

即所有小寫字母均視為相應的大寫字母

)。

乙個字串,長度大於0,且不超過1000,全部由大寫或小寫字母組成。

輸出為一行,表示壓縮結果,形式為:

(a,3)(b,4)(c,1)(b,2)

即每對括號內部分別為字元(都為大寫)及重複出現的次數,不含任何空格。

aaabbbbcccaaaaa
(a,3)(b,4)(c,3)(a,5)
這道題和字串p型編碼那道題差不多,所以輸出那裡我有參考

字串p型編碼那道題的題解

首先上定義

#include#includeusing namespace std;

int main()

關鍵部分!

for(i=0;i好啦!現在來說說初始的次數,time=1的問題。

把我之前的注釋都恢復,除錯結果如下:

那麼問題來了。。。ss[1],ss[3],ss[5],ss[6]上哪去了?!!!∑(゚д゚ノ)ノ

回頭看看程式,這裡!

else if(ss[i]!=ss[i+1])

for(i=0;i

else if(ss[i]!=ss[i+1])

} return 0;

}

c筆記 行程長度編碼

之前寫過哈弗曼編碼的壓縮檔案的程式,今天在書上看到乙個更簡單用途單一的壓縮演算法 行程長度編碼 如果檔案包含許多相同位元組的長序列,效果很明顯,實現 如下 include includeint main int argc,char ar char newname 256 strcpy newname...

行程長度編碼科普

在某些情況下,乙個字元可能在乙個長序列中反覆出現。在英語文字中,這種重複不常見,但在大的資料流中 如dna序列 中,這種情況則經常出現。一種名為行程長度編碼的文字壓縮方法利用了這種情況。行程長度編碼有時又稱為迭代編碼。在行程長度編碼中,重複字元的序列將被替換為標誌字元,後面加重複字元和說明字元重複次...

RLE行程長度編碼概述

rle行程長度編碼概述 目前,壓縮技術已經廣泛應用於各種軟體 聲音 影像格式等領域。總的來說,有兩種截然不同的影象格式壓縮型別 有失真壓縮和無失真壓縮 1 有失真壓縮利用視覺識別的原理可以大大地壓縮檔案的資料,但是會影響影象質量。無失真壓縮的基本原理是相同的顏色資訊只需儲存一次,可以刪除一些重複資料...