Cover image for leetcode每日一题 P3005 最大频率元素计数

leetcode每日一题 P3005 最大频率元素计数


时间轴

时间轴

2025-09-22

init

计数排序

题目:

这题主要利用数组下标作为元素的标识,数组元素记录频率。第一次遍历记录所有元素的频率,第二次遍历找到频率的最大值,第三次遍历将所有最大值频率的相加。总体复杂度 O(n)

1234567891011121314151617181920212223242526272829303132
#include <limits.h>#include <string.h>#include <vector>using std::vector;class Solution {    public:        // 1 <= nums[i] <= 100        int maxFrequencyElements(vector<int> &nums)        {                int n = nums.size();                int max = INT_MIN;                int res = 0;                int array[101];                memset(array, 0, 101 * sizeof(int));                for (int i = 0; i < n; i++) {                        array[nums[i]]++;                }                for (int i = 1; i < 101; i++) {                        if (array[i] > max) {                                max = array[i];                        }                }                for (int i = 1; i < 101; i++) {                        if (array[i] == max) {                                res += array[i];                        }                }                return res;        }};
评论加载中…