藍橋杯 演算法提高 字串壓縮

2021-10-19 11:54:15 字數 989 閱讀 2943

問題描述

編寫乙個程式,輸入乙個字串,然後採用如下的規則對該字串當中的每乙個字元進行壓縮:

(1) 如果該字元是空格,則保留該字元;

(2) 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元;

(3) 否則,刪除該字元。

例如,若使用者輸入「occurrence」,經過壓縮後,字元c的第二次出現被刪除,第一和第三次出現仍保留;字元r和e的第二次出現均被刪除,因此最後的結果為:「ocurenc」。

輸入格式:輸入只有一行,即原始字串。

輸出格式:輸出只有一行,即經過壓縮以後的字串。

樣例輸入

occurrence

樣例輸入

ocurenc

題目思路

結構體存放單個字元與其出現的個數,再迴圈遍歷該串進行相應的操作即可

#include

#include

int many=0;

struct charstrchstr[

100]

;void

del(

char

*str,

int i,

int len)

intinitstruct

(char temp)

} chstr[many]

.str=temp;

chstr[many]

.flag=1;

many++

;return i;

}int

main()

}}for(i=

0;i<

strlen

(str)

;i++

)printf

("%c"

,str[i]);

return0;

}

藍橋杯 演算法提高 字串壓縮 C 解題

編寫乙個程式,輸入乙個字串,然後採用如下的規則對該字串當中的每乙個字元進行壓縮 1 如果該字元是空格,則保留該字元 2 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元 3 否則,刪除該字元。例如,若使用者輸入 occurrence 經過壓縮後,字元c的第二次出現被刪除,第一和第三次出現...

藍橋杯 ADV 301 演算法提高 字串壓縮

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 編寫乙個程式,輸入乙個字串 其實是一行,包括ascii上可見的各種字元 然後採用如下的規則對該字串當中的每乙個字元進行壓縮 1 如果該字元是空格,則保留該字元 2 如果該字元是第一次出現或第三次出現或第六次出現,則保留該字元 3 否...

藍橋杯演算法提高 週期字串

思路 相信大家都很容易想到,根據字串的長度,求出所有約數,然後按照約數的順序來檢驗 但是檢驗的策略非常重要,最重要的兩點就是 1 對每個不同長度週期的字串,最多隻判斷一次.2 如果長度為n的字串在原串的週期檢驗中不成立,則長度為n的約數的字串也不會成立 根據上述的結論,我們可以大概感覺到,我們不僅要...