时间轴
时间轴
2025-09-22
init
计数排序
题目:
这题主要利用数组下标作为元素的标识,数组元素记录频率。第一次遍历记录所有元素的频率,第二次遍历找到频率的最大值,第三次遍历将所有最大值频率的相加。总体复杂度 O(n)
1234567891011121314151617181920212223242526272829303132 | 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; }}; |
