C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)分享!

已知字符串“aabbbcddddeeffffghijklmnopqrst”编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2)

  /********************************************************  Copyright (C), 2016-2017,  FileName: main9  Author: woniu201  Description:求字符串中出现次数最多的字符和次数  ********************************************************/  #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("出现最多的字符的次数:%dn", max);  }  int main()  {   char* srcData = "aabbbcddddeeffffghijklmnopqrst";   search(srcData, strlen(srcData));   getchar();   return 1;  }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对<计算机技术网(www.ctvol.com)!!>的支持。如果你想了解更多相关内容请查看下面相关链接

—-想了解C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/482593.html

(0)
上一篇 2020年11月9日
下一篇 2020年11月9日

精彩推荐