美文网首页
寻找整型数组中出现次数最多的数

寻找整型数组中出现次数最多的数

作者: 爱你会吃醋 | 来源:发表于2015-08-09 20:30 被阅读372次

1.先排序,然后再遍历,寻找出现次数最多的数

void f1(int *num,int length)
{

quickSort(num,0,length-1);
int max=0;//最大出现次数
int cur=1;//当前出现次数
int max_num=num[0];//出现次数最多的数字

//开始遍历查找出现次数最多的数字
for(int i=0;i<length-1;i++)
{
    if(num[i]==num[i+1])
    {
        cur++;
    }
    else
    {
        if(cur>max)
        {
            max=cur;
            max_num=num[i];
        }
        cur=1;
    }
    
}
cout<<"出现次数最多的数字是:"<<max_num<<",共出现了"<<max<<"次";
}

我们用max_num表示出现次数最多的数字,用max表示最大出现次数,用cur_max表示当前数字的出现次数,在遍历中逐步更新max的值,从而得到结果。

但是,如果有多个数字出现次数相同(且为最大出现次数),这时要想全部输出怎么办呢?

2.利用map

void f2(int *num,int length)
{
//key表示数字,value记载数字出现次数
map<int,int> map_int;
for(int i=0;i<length;i++)
{
    //map_int[num[i]]指key为num[i]对应的值,如果不存在这个键,那么会创建键,并初始化值(int初始化为0)
    //++表示次数加1
    ++map_int[num[i]];
}
int value=(map_int.begin())->first;//表示数字
int max=(map_int.begin())->second;//表示出现次数
for(map<int,int>::iterator iter=map_int.begin(); iter!=map_int.end() ; iter++)
{
    if(iter->second > max)//找到了出现次数更多的值
    {
        value=iter->first;
        max=iter->second;
    }
}
cout<<"出现次数最多的数字是:"<<value<<",共出现了"<<max<<"次";
}

相关文章

  • 寻找整型数组中出现次数最多的数

    1.先排序,然后再遍历,寻找出现次数最多的数 我们用max_num表示出现次数最多的数字,用max表示最大出现次数...

  • python | 在数组中找到出现次数大于一半的数

    题目描述 给定一个整型数组arr,请打印其中出现次数大于一半的数,如果没有这样的数,请输出-1。 输入描述: ...

  • LintCode 主元素 II

    题目 给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的三分之一。 ** 注意事项**数组中...

  • 48.主元素III

    描述给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。给出数组 [3,1,2,3,2...

  • 46. 主元素

    给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。2017.11.17 (就是...

  • LintCode 主元素 III

    题目 给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。注意事项数组中只有唯一的主元...

  • 【LeetCode】数组中数字出现的次数-官方题解学习

    题目及其链接如下: 面试题56-1 数组中数字出现的次数 一个整型数组 nums 里除两个数字之外,其他数字都出现...

  • majority-element-ii 主元素II

    给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的三分之一。 majority-elemen...

  • LeetCode 面试题56 - I. 数组中数字出现的次数 |

    面试题56 - I. 数组中数字出现的次数 题目 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。...

  • js数组题目

    1、寻找两个数组中相同的元素中最小的元素 2、判断一个字符串中出现次数最多的字符,统计这个次数var str=’a...

网友评论

      本文标题:寻找整型数组中出现次数最多的数

      本文链接:https://www.haomeiwen.com/subject/twtbqttx.html