zoukankan      html  css  js  c++  java
  • 【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(" ");

    printf("出现最多的字符的次数:%d ", max);

    }

    int main()

    {

    char* srcData = "aabbbcddddeeffffghijklmnopqrst";

    search(srcData, strlen(srcData));

    getchar();

    return 1;

    }

    以上就是这篇文章的全部内容了,有什么问题欢迎大家评论区留言。


     

    最后,如果你也想成为程序员,想要快速掌握编程,赶紧加入学习企鹅圈子

    里面有资深专业软件开发工程师,在线解答你的所有疑惑~编程语言入门“so easy”

    编程学习书籍:


     

    编程学习视频:


     
  • 相关阅读:
    WebService 安静点
    爬虫(一) 安静点
    wpf(三) 安静点
    wpf问题解决链接 安静点
    wpf(一) 安静点
    webapi(一) 安静点
    WPF(二)之为对象属性赋值 安静点
    wpf(四) 安静点
    云计算实验二 Docker实验docker安装
    新闻分类中文分词+词云展示(2)
  • 原文地址:https://www.cnblogs.com/mu-ge/p/14139308.html
Copyright © 2011-2022 走看看