演算法分析 刪除字串中出現次數最少的字元

2021-09-07 12:11:59 字數 1071 閱讀 9640

編寫乙個函式,刪除字串**現次數最少的字元,若多個字元出現次數一樣,則都刪除。輸出刪除這些單詞後的字串。字串中其他字元保持原來的順序。 格式說明: 字串僅僅包括字母。不可能為空串,不包括空格,單詞僅僅由小寫英文本母組成。輸入的字串長度不會超過20個char 。

演算法思路:

(1)定義乙個長度為26的整型陣列

下標從0-25分別表示a-z這26個小寫字母,用來儲存字串中各個字元出現的次數

(由於『a』-『a』=0,『z』-『a』=25剛好與陣列的下標相應)

「abcdddeeffffxxyz」各個字元出現的次數例如以下圖所看到的:

(2)求出陣列中的最小值即字串中字元出現的最小次數min(找出陣列中第乙個不為零的值。從前往後去比較大小。找出最小值)。

(3)定義乙個空字元陣列用來儲存新字串(將出現次數大於min的字元依照順序存入空陣列中。並在末尾加上字串結束標誌'\0')。

(4)演算法結束。

#include #include #include char * change(char *str); //定義並初始化長度為26的字元陣列,用來儲存各個小寫字母出現的次數

int len = strlen(str); //字串的長度

for(int i = 0 ; i< len ; i++)

//經過以上**。已經將各個小寫字母出現的次數儲存在alpha陣列中

int min = 0;

for(i = 0 ; i < len ; i++)

for(i = 0 ; i < 26 ; i++){ //求出alpha陣列中最小元素即小寫字母**現的最小次數

if(alpha[i]!=0 && alpha[i]

刪除字串中出現次數最少的字元

編寫乙個函式,刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。格式說明 字串只包含字母,不可能為空串,不包含空格,單詞只由小寫英文本母組成,輸入的字串長度不會超過20 個char 演算法思路 1 定義乙個長度為26的整型陣列 下...

刪除字串中出現次數最少的字元

編寫乙個函式,刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。格式說明 字串只包含字母,不可能為空串,不包含空格,單詞只由小寫英文本母組成,輸入的字串長度不會超過20個char 演算法思路 1 定義乙個長度為26的整型陣列,每個...

實現刪除字串中出現次數最少的字元

題目 華為 描述 實現刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。題目類別 字串 難度 中級 執行時間限制 10sec 記憶體限制 128mbyte 階段 入職前練習 輸入 字串只包含小寫英文本母,不考慮非法輸入,輸入的字串...