/*
有3个发帖很多的ID,他们发帖数目都超过了帖子总数目N的1/4,你能从ID列表中找出它们的ID吗?
先考虑2个发帖很多的ID,他们发帖数目超过帖子总数目的1/3,每次删除三个不一样的便可
输入:(针对2两个水王)
9
1 2 3 2 3 2 3 2 3
输出:
2 3
输入:(针对3个水王)
16
1 2 3 4 2 3 4 2 3 4 2 3 4 2 3 4
输出:
2 3 4
*/
/*
关键:
1 if(iRet1 == pArr[i])//如果当前是水王,则次数累加;如果次数为0,重新赋值次数,如果不是,全部次数减1
{
iTimes1++;
}
2 else if(iTimes1 == 0)//如果次数为0,重新赋值次数
{
iTimes1 = 1;
iRet1 = pArr[i];
3 else
{
iTimes1--;
iTimes2--;
iTimes3--;
*/
#include <stdio.h>
const int MAXSIZE = 10000;
const int INF = 1000000000;
void thirdTimesNum(int* pArr,int iLen)
{
int iRet1 = INF,iRet2 = INF;
int iTimes1 = 0,iTimes2 = 0;
for(int i = 0 ; i < iLen ; i++)
{
if(iTimes1 == 0)
{
if(iRet2 == pArr[i])//这个绝对有问题
{
iTimes2++;
}
else
{
iRet1 = pArr[i];
iTimes1++;
}
}
else if(iTimes2 == 0)
{
if(iRet1 == pArr[i])
{
iTimes1++;
}
else
{
iRet2 = pArr
编程之美: 第二章 数字之魅 2.3_1寻找发帖超过总帖1/4的水王
最新推荐文章于 2021-02-26 14:42:34 发布