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

 更新时间:2018年12月22日 09:00:04   作者:蜗牛201  
今天小编就为大家分享一篇关于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("出现最多的字符的次数:%d\n", max);
}
int main()
{
 char* srcData = "aabbbcddddeeffffghijklmnopqrst";
 search(srcData, strlen(srcData));
 getchar();
 return 1;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • C语言汉诺塔的简单了解

    C语言汉诺塔的简单了解

    这篇文章主要给大家介绍了关于C语言汉诺塔的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • C语言入门篇--理解地址及内存

    C语言入门篇--理解地址及内存

    本篇文章是基础篇,适合c语言刚入门的朋友,本文主要介绍了c语言的内存及地址,帮助大家快速入门c语言的世界,更好的理解c语言
    2021-08-08
  • 深入浅析 C++ 调用 Python 模块

    深入浅析 C++ 调用 Python 模块

    Python 提供了 C++ 库,使得开发者能很方便地从 C++ 程序中调用 Python 模块。接下来通过本文给大家介绍 C++ 调用 Python 模块的相关知识,需要的朋友参考下吧
    2016-03-03
  • 海量数据处理系列之:用C++实现Bitmap算法

    海量数据处理系列之:用C++实现Bitmap算法

    本篇文章是对用C++实现Bitmap算法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言中结构体与内存对齐实例解析

    C语言中结构体与内存对齐实例解析

    C语言结构体对齐也是老生常谈的话题了,基本上是面试题的必考题,这篇文章主要给大家介绍了关于C语言中结构体与内存对齐的相关资料,需要的朋友可以参考下
    2021-07-07
  • 关于函数调用方式__stdcall和__cdecl详解

    关于函数调用方式__stdcall和__cdecl详解

    下面小编就为大家带来一篇关于函数调用方式__stdcall和__cdecl详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 详解C++设计模式编程中策略模式的优缺点及实现

    详解C++设计模式编程中策略模式的优缺点及实现

    这篇文章主要介绍了C++设计模式编程中策略模式的优缺点及实现,文中讨论了策略模式中设计抽象接口的继承和组合之间的区别,需要的朋友可以参考下
    2016-03-03
  • C++设计模式编程中的迭代器模式应用解析

    C++设计模式编程中的迭代器模式应用解析

    这篇文章主要介绍了C++设计模式编程中的迭代器模式应用解析,迭代器模式注重对集合中元素的遍历而不使其暴露,需要的朋友可以参考下
    2016-03-03
  • C/C++中宏/Macro的深入讲解

    C/C++中宏/Macro的深入讲解

    这篇文章主要给大家介绍了关于C/C++中宏/Macro的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C/C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 浅谈C#中List<T>对象的深度拷贝问题

    浅谈C#中List<T>对象的深度拷贝问题

    下面小编就为大家带来一篇浅谈C#中List<T>对象的深度拷贝问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论