已知字符串“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