This commit is contained in:
2025-09-23 01:56:29 +08:00
parent 3f58f483ff
commit f94834d397
3 changed files with 83 additions and 0 deletions

35
25/09/3005.cpp Normal file
View File

@@ -0,0 +1,35 @@
#include <vector>
#include <iostream>
#include <unordered_map>
int maxFrequencyElements(std::vector<int> &nums)
{
std::unordered_map<int,int> m;
std::for_each(nums.begin(),nums.end(),[&m](int x){
m[x]++;
});
int max = 0;
for_each(m.begin(),m.end(),[&max](std::pair<int,int> p){
if (p.second > max) max = p.second;
});
int count = 0;
std::for_each(m.begin(),m.end(),[&count,max](std::pair<int,int> p){
if (p.second == max) count++;
});
return count;
}
int enhance_1(std::vector<int> nums) {
std::unordered_map<int,int> m;
int ans = 0, max = 0;
std::for_each(nums.begin(),nums.end(),[&m,&ans,&max](int x) {
int c = ++m[x];
if (c > max) {
ans = max = c;
}else if (c == max) {
ans += c;
}
});
return ans;
}

28
25/09/3005.go Normal file
View File

@@ -0,0 +1,28 @@
package main
import (
"fmt"
)
func maxFrequencyElements(nums []int) int {
m := make(map[int]int)
ans := 0
max := 0
for _, x := range nums {
m[x]++
c := m[x]
if c > max {
max = c
ans = c
} else if c == max {
ans += c
}
}
return ans
}
func main() {
// 示例测试
nums := []int{1, 2, 2, 3, 1, 4}
fmt.Println(maxFrequencyElements(nums)) // 输出: 4
}

20
25/09/3005.java Normal file
View File

@@ -0,0 +1,20 @@
import java.util.HashMap;
import java.util.Map;
class Solution {
public int maxFrequencyElements(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
int max = 0, ans = 0;
for (int num : nums) {
map.put(num, map.getOrDefault(num, 0) + 1);
int c = map.get(num);
if (c > max) {
max = c;
ans = c;
} else if (c == max) {
ans += c;
}
}
return ans;
}
}