数组中超过出现次数超过一半的数字 的一个解法
来源:互联网 发布:秀才不出门 尽知天下事 编辑:程序博客网 时间:2024/05/01 04:57
微软等数据结构+算法面试100题 第74题
题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。 分析:这是一道广为流传的面试题,包括百度、微软和Google在内的多家公司都 struct node int findmorenum(int * p, int n)
曾经采用过这个题目。要几十分钟的时间里很好地解答这道题,
除了较好的编程能力之外,还需要较快的反应和较强的逻辑思维能力。
{
int nCnt;
int data;
bool bUse;
};
{
int m = n/2 + 1;
node * ptmp = new node[m];
memset(ptmp, 0, sizeof(node)*m);
int j;
for(int i=0;i<n;i++)
{
j=0;
while(j<m)
{
if(!ptmp[j].bUse)
{
ptmp[j].data = p[i];
ptmp[j].bUse = true;
}
if(ptmp[j].data==p[i])
{
ptmp[j].nCnt++;
if(ptmp[j].nCnt>=m)
return ptmp[j].data;
break;
}
j++;
}
if(j==m)
break;
}
delete []ptmp;
return -1;
}
- 数组中超过出现次数超过一半的数字 的一个解法
- 数组中出现次数超过一半的一个数字
- 数组中超过出现次数超过一半的数字
- 74.数组中超过出现次数超过一半的数字
- 74 数组中超过出现次数超过一半的数字
- 【数组4】数组中出现次数超过一半的数字
- 数组4:数组中出现次数超过一半的数字
- 数组中超过出现次数超过一半的数字以及超过三分之一的两个数字,超过四分之一的三个数字
- 数组中出现次数超过一半的数字
- 找出数组中出现次数超过长度一半的数字
- 2-数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字[算法]
- 数组中出现次数超过一半的数字
- 找出数组中出现次数超过一半的数字--百度
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 数组中出现次数超过一半的数字
- 设计模式笔录(二),设计模式有哪些
- 手工注入大全学习手册
- Oracle自定义聚集函数
- 《微博改变一切》摘抄
- 使用struts2+spring+tomcat+mysql数据库开发中文乱码解决
- 数组中超过出现次数超过一半的数字 的一个解法
- 背包问题1
- Linux kernel_thread 的一些注意事项
- VIM快捷键
- Android+手势识别详解
- 位图 RGB bmp
- '转'test和cmp一个很菜很基础的话题! @ pediy.com
- Java类搜索工具 ClassSearch
- android opengl es 雾化效果