您好,登錄后才能下訂單哦!
已知字符串“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("出現最多的字符的次數:%d\n", max); } int main() { char* srcData = "aabbbcddddeeffffghijklmnopqrst"; search(srcData, strlen(srcData)); getchar(); return 1; }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。