本文共 1210 字,大约阅读时间需要 4 分钟。
题目
描述:
找出字符串中第一个出现次数最多的字符
详细描述:
接口说明
原型:bool FindChar(char* pInputString, char* pChar);
输入参数:
char* pInputString:字符串
输出参数(指针指向的内存区域保证有效):
char* pChar:出现次数最多的字符
返回值:
false 异常失败 true 输出成功
练习阶段:
初级
代码
/*---------------------------------------* 日期:2015-07-05* 作者:SJF0115* 题目:找出字符串中第一个出现次数最多的字符* 来源:华为机试练习题-----------------------------------------*/#include#include "OJ.h"#include using namespace std;/*功能: 找出字符串中第一个出现次数最多的字符输入: char* pInputString:字符串输出: char* pChar:出现次数最多的字符返回: false 异常失败 true 输出成功*/bool FindChar(char* pInputString, char* pChar){ if(pInputString == NULL || pChar == NULL){ return false; }//if int size = strlen(pInputString); if(size == 0){ return false; }//if int hash[256] = { 0}; // 统计个数 for(int i = 0;i < size;++i){ ++hash[pInputString[i]]; }//for // Max int Max = 0; for(int i = 0;i < size;++i){ if(Max < hash[pInputString[i]]){ Max = hash[pInputString[i]]; }//if }//for // 第一个出现次数最多的字符 for(int i = 0;i < size;++i){ if(hash[pInputString[i]] == Max){ *pChar = pInputString[i]; break; }//if }//for return true;}
转载地址:http://kfxyx.baihongyu.com/