您好,登錄后才能下訂單哦!
已知字符串“aabbbcddddeeffffghijklmnopqrst”編程找出出現(xiàn)最多的字符和次數(shù),要求時(shí)間復(fù)雜度小于O(n^2)
/******************************************************** Copyright (C), 2016-2017, FileName: main9 Author: woniu201 Description:求字符串中出現(xiàn)次數(shù)最多的字符和次數(shù) ********************************************************/ #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h> void search(char* pData, int len) { char counts[1024] = {0}; //存放原始數(shù)據(jù)作為為索引出現(xiàn)的次數(shù) char bufMax[1024] = {0}; //用于存放出現(xiàn)次數(shù)最多的字符 int max = 0; //出現(xiàn)次數(shù)最多的字符 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("出現(xiàn)最多的字符分別為:"); for (int i=0; i<strlen(bufMax); i++) { printf("%c ", bufMax[i]); } printf("\n"); printf("出現(xiàn)最多的字符的次數(shù):%d\n", max); } int main() { char* srcData = "aabbbcddddeeffffghijklmnopqrst"; search(srcData, strlen(srcData)); getchar(); return 1; }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。