統計字串出現次數重排輸出

2021-09-13 15:28:50 字數 921 閱讀 7526

樣例:

輸入:aabbcddd

輸出:a:2

b:2c:1

d:3abcdabdd

統計字串次數:

主要使用sl的map會很快實現,具體參考

上面參考的第三種方法是最快的,但是我不是太理解,所以還是使用比較好理解的第二種方法統計字串出現的次數吧

最後輸出格式:

最後輸出將重複的字元分別順序輸出,然後重複該過程。思路是在在map_s中存放了字串出現的次數,所以使用迭代器遍歷輸出即可,每一次輸出將次數減少一次,最後出現次數減少到0的就不再輸出,迴圈借結束條件為輸入的字串長度遞減到0.

#include#include#includeusing namespace std;

int main()

else//找到了,個數+1

iter->second++;

} //輸出統計結果

for (map::iterator iter = map_s.begin(); iter != map_s.end(); iter++)

//重新輸出

map::iterator iter = map_s.begin();

int str_length = str.length();

while (str_length > 0)

else

iter++;

if (str_length > 0 && iter == map_s.end())

iter = map_s.begin();

} cout << endl;

}}

測試結果:

C 統計子字串出現次數

c 中沒有統計子字串出現次數的函式,那麼如何在c 求出字串中某字元的出現次數,比如求 adsfgehergasdf 中 a 出現的次數。首先想到的方法當然是從頭遍歷字串並統計 c1 0 for int i 0 i str.length i 第二種方法也很容易想到,將字串中所有要查詢的字元去除,然後比...

統計字串出現次數(10分)

題目內容 從鍵盤輸入兩個字串,輸出第二個串在第乙個串 現的次數。如果沒有,輸出 no 輸入格式 輸入兩個字串輸出格式 輸出第二個串在第乙個串 現的次數。如果沒有,輸出 no輸入樣例1 this is his book 回車 is 回車 輸出樣例1 3 回車 輸入樣例2 this is my book...

統計字串中字元出現次數(延伸)

統計字串中字元出現的次數 1.簡單統計次數 returnstrnum function str,who for var i 0,l str.length i l i return strnum who console.log that.returnstrnum sgdgfdgrrgdv g 4 說明...