找出n个字符串中出现次数最多的字符串(创新工场)
来源:互联网 发布:淘宝淘气值650是多少钱 编辑:程序博客网 时间:2024/06/02 09:08
C/C++:
char* find(char **data,int n);
说明:
1. data是字符串数组,n是数组中字符串的个数,返回值为出现次数最多的字符串。
2. 若结果有多个,返回任意一个即可
3. 不得使用任何库函数/API,如需使用类似功能, 请自行实现
4. 算法效率尽可能高,尽量少的使用内存空间
5. 必须要有代码注释和算法说明。
例如:data里面的数据是{“paper”,”cup”,”book”,”cup”,”pen”,”book”}。n = 6。返回结果为”cup”或”book”。
#include<iostream>#include<string>#include<assert.h>#include<map>using namespace std;char *strcpy(char *p,const string temp){ int i=0,k=0; while(temp[i]) p[k++]=temp[i++]; p[k]='\0'; return p;}char* find(char **data,int n){ assert(*data!=NULL||n>0); map<string,int>mvc; int i,Max=0x80000000; string temp; char*p=new char[100]; for(i=0;i<n;i++) mvc[data[i]]++; map<string,int>::iterator it; for(it=mvc.begin();it!=mvc.end();it++) { if(it->second>Max) { Max=it->second; temp=it->first; } } return strcpy(p,temp); //return const_cast<char *>(temp.c_str());}int main(){ char *name[6]={"paper","cup","book","cup","pen","book"}; string temp=find(name,6); cout<<temp<<endl;}
0 0
- 找出n个字符串中出现次数最多的字符串(创新工场)
- 找出字符串中第一个出现次数最多的字符
- 找出字符串中第一个出现次数最多的字符
- 找出字符串中第一个出现次数最多的字符
- 找出n个字符串中出现次数最多的子串
- 找出字符串中连续出现次数最多的子串
- 找出字符串中连续出现次数最多的子串
- 找出给定字符串中出现最多的字符和次数
- 找出字符串中连续出现次数最多的子串
- 找出给定字符串中出现最多的字符和次数
- 找出一个字符串中出现次数最多的字符
- 找出字符串中出现次数最多的字
- C语言 找出字符串中出现次数最多的字符
- [华为机试练习题]61.找出字符串中第一个出现次数最多的字符
- 问题6: 找出字符串中出现次数最多的字母及其出现的次数
- 找出字符串中出现次数最多的字母和出现的次数
- c#面试题:找出字符串中出现次数最多的字符及出现次数
- C/C+面试题一:找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)
- 正则表达式中test() exec() match()详解
- Android使用线程更新UI----Thread、Handler、Looper、TimerTask等
- 云海飞翔lee-数据库
- warning: all apps should include an armv7 architecture (current ARCHS = "arm64")
- 改变的情绪2
- 找出n个字符串中出现次数最多的字符串(创新工场)
- Linux系统平均负载3个数字的含义
- Linux最基础(第一篇)——用户权限
- 《炉石传说》架构设计赏析(6):卡牌&技能数据的运行时组织
- vi/vim 键盘图
- C/C++ 获取格式化时间字符串
- 数值的整数次方(剑指offer)O(log n)
- 《程序员面试金典》高度最小的BST
- java多态的实现主要体现在哪些方面