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 。

一次遍历解决问题

objectivec 复制代码
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;
}
相关推荐
Gl�ria12 分钟前
Linux 清理日志常用命令
linux·运维·服务器
小玮看世界1 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
黎阳之光1 小时前
数字孪生赋能全域水网,实现水资源管控与节水降碳双向提升
人工智能·物联网·算法·安全·数字孪生
天道jimmy1 小时前
VulnHub 系列:HA, Wordy
linux·服务器·web安全
随意起个昵称1 小时前
【BFS】冰面滑行
算法·宽度优先
君生我老1 小时前
Linux中调式器gbd/cgdb
linux
两斤牛肉一壶酒2 小时前
opencode 技能加载全挂背后,竟是不用系统的ripgrep
linux
j7~2 小时前
【Linux网络加餐(二)】《进程组,会话,控制终端,作业控制和守护进程》---详解
linux·运维·服务器·守护进程·会话·进程组·控制终端
(Charon)2 小时前
【C++】定时器进阶:使用最小堆管理定时任务
c++·算法
天道jimmy2 小时前
VulnHub 系列:Prime,1
linux·运维·服务器