【C++學習筆記】如何找出字符串中出現最多的字符和次數?


今天小編就為大家分享一篇關於C++找出字符串中出現最多的字符和次數,時間復雜度小於O(n^2),小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧。


 

已知字符串“aabbbcddddeeffffghijklmnopqrst”編程找出出現最多的字符和次數,要求時間復雜度小於O(n^2)

#include "stdafx.h"

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

void search(char* pData, int len)

{

char counts[1024] = {0}; //存放原始數據作為為索引出現的次數

char bufMax[1024] = {0}; //用於存放出現次數最多的字符

int max = 0;  //出現次數最多的字符

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

{

counts[pData[i]] ++;

}

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

{

if (counts[i] > max)

{

max = counts[i];

bufMax[0] = i;

}else if ((counts[i] == max) && (counts[i] !=0))

{

bufMax[strlen(bufMax)] = i;

}

}

printf("出現最多的字符分別為:");

for (int i=0; i<strlen(bufMax); i++)

{

printf("%c ", bufMax[i]);

}

printf("\n");

printf("出現最多的字符的次數:%d\n", max);

}

int main()

{

char* srcData = "aabbbcddddeeffffghijklmnopqrst";

search(srcData, strlen(srcData));

getchar();

return 1;

}

以上就是這篇文章的全部內容了,有什么問題歡迎大家評論區留言。


 

最后,如果你也想成為程序員,想要快速掌握編程,趕緊加入學習企鵝圈子

里面有資深專業軟件開發工程師,在線解答你的所有疑惑~編程語言入門“so easy”

編程學習書籍:


 

編程學習視頻:


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM