diff --git a/25/09/3005.cpp b/25/09/3005.cpp new file mode 100644 index 0000000..a103a8f --- /dev/null +++ b/25/09/3005.cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +int maxFrequencyElements(std::vector &nums) +{ + std::unordered_map 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 p){ + if (p.second > max) max = p.second; + }); + int count = 0; + std::for_each(m.begin(),m.end(),[&count,max](std::pair p){ + if (p.second == max) count++; + }); + + return count; +} + +int enhance_1(std::vector nums) { + std::unordered_map 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; +} \ No newline at end of file diff --git a/25/09/3005.go b/25/09/3005.go new file mode 100644 index 0000000..b3a773c --- /dev/null +++ b/25/09/3005.go @@ -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 +} diff --git a/25/09/3005.java b/25/09/3005.java new file mode 100644 index 0000000..fef91ae --- /dev/null +++ b/25/09/3005.java @@ -0,0 +1,20 @@ +import java.util.HashMap; +import java.util.Map; + +class Solution { + public int maxFrequencyElements(int[] nums) { + Map 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; + } +} \ No newline at end of file