本文主要是介绍LeetCode例题讲解:3005最大频率元素计数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
给你一个由 正整数 组成的数组 nums
。
返回数组 nums
中所有具有 最大 频率的元素的 总频率 。
元素的 频率 是指该元素在数组中出现的次数。
示例 1:
输入:nums = [1,2,2,3,1,4] 输出:4 解释:元素 1 和 2 的频率为 2 ,是数组中的最大频率。 因此具有最大频率的元素在数组中的数量是 4 。
示例 2:
输入:nums = [1,2,3,4,5] 输出:5 解释:数组中的所有元素的频率都为 1 ,是最大频率。 因此具有最大频率的元素在数组中的数量是 5 。
一次遍历解决问题
int maxFrequencyElements(int* nums, int numsSize) {int book[100] = {0};int i;int max = 0,cnt = 0;for(i = 0;i < numsSize;i++){book[nums[i]-1]++;if(book[nums[i]-1] > max){max = book[nums[i]-1];cnt = 1;}else if(book[nums[i]-1] == max){cnt++;}}return cnt*max;
}
这篇关于LeetCode例题讲解:3005最大频率元素计数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!