zoukankan      html  css  js  c++  java
  • 求一个数组中重复元素出现最多值,最大的元素及出现次数,次数相同时,取最大值,优先考虑次数

    #include <iostream>
    #include <string>
    #include <map>
    
    using namespace std;
    
    void maxNumTimes(int a[], int len, int b[])
    {
    	map<int, int> mapData;
    	int count = 0;
    	for(int i = 0; i < len; i++)
    	{
    		mapData[a[i]]++;
    	}
    
    	//int max times
    	int maxTimes = 0;
    	map<int, int>::const_iterator it = mapData.begin();
    	while(it!= mapData.end())
    	{
    		if(maxTimes < it->second)
    			maxTimes = it->second;
    		it++;
    	}
    
    	//int max num
    	int maxNum = 0;
    	map<int, int>::reverse_iterator re_it = mapData.rbegin();
    	while(re_it != mapData.rend())
    	{
    		if (maxTimes == re_it->second)
    		{
    			if (maxNum < re_it->first)
    			{
    				b[0] = re_it->first;
    			}
    			b[1] = re_it->second;
    		}
    		re_it++;
    	}	
    }


     

  • 相关阅读:
    mysql事务
    数据类型
    win10 开启全局代理
    高并发的一些思考
    多线程也不一定比单线程快
    单线程的JavaScript
    Vue2 响应式原理
    检查Object是否存在某个属性
    堆和栈
    LeetCode
  • 原文地址:https://www.cnblogs.com/yongqiangyue/p/3984783.html
Copyright © 2011-2022 走看看