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;
}
相关推荐
ImAlex18 分钟前
Linux脚本实现自动化运维任务实战案例:系统自动备份、日志轮转、系统更新、资源监控、自动化定时任务调度
linux·运维
杨凯凡34 分钟前
Linux日志分析:安全运维与故障诊断全解析
linux·运维·服务器
CoovallyAIHub1 小时前
Vision Transformers与卷积神经网络详细训练对比(附代码)
深度学习·算法·计算机视觉
地平线开发者1 小时前
征程 6 逆向自证hbm与bc一致性
算法·自动驾驶
算AI1 小时前
LLM用于科学假设生成:探索与挑战
人工智能·算法
1白天的黑夜11 小时前
贪心算法-2208.将数组和减半的最小操作数-力扣(LeetCode)
c++·算法·leetcode·贪心算法
格格Code1 小时前
八大排序——冒泡排序/归并排序
数据结构·算法·排序算法
愚润求学1 小时前
【Linux】进程优先级和进程切换
linux·运维·服务器·c++·笔记
Dream it possible!1 小时前
LeetCode 热题 100_最小路径和(92_64_中等_C++)(多维动态规划)
c++·leetcode·动态规划
vim怎么退出1 小时前
46.二叉树展开为链表
前端·leetcode