From d4ba19406cc34599229136a1b47c04b0567d0e2e Mon Sep 17 00:00:00 2001
From: gameloader <ggwqqo@163.com>
Date: Fri, 8 Mar 2024 11:06:33 +0800
Subject: [PATCH] leetcode update

---
 content/posts/leetcode.md | 56 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/content/posts/leetcode.md b/content/posts/leetcode.md
index d783371..4505bb9 100644
--- a/content/posts/leetcode.md
+++ b/content/posts/leetcode.md
@@ -693,3 +693,59 @@ func middleNode(head *ListNode) *ListNode {
 ### 总结
 
 本题是一道经典的快慢指针的简单题目, 进一步深化了快慢指针的应用.
+
+## day11 2024-03-08
+
+### 3005. Count Elements With Maximum Frequency
+
+You are given an array nums consisting of positive integers.
+
+Return the total frequencies of elements in nums such that those elements all have the maximum frequency.
+
+The frequency of an element is the number of occurrences of that element in the array.
+
+Example 1:
+
+> Input: nums = [1,2,2,3,1,4]
+> Output: 4
+> Explanation: The elements 1 and 2 have a frequency of 2 which is the maximum frequency in the array.
+> So the number of elements in the array with maximum frequency is 4.
+
+Example 2:
+
+> Input: nums = [1,2,3,4,5]
+> Output: 5
+> Explanation: All elements of the array have a frequency of 1 which is the maximum.
+> So the number of elements in the array with maximum frequency is 5.
+
+### 题解
+
+因为题目给出了正整数的范围为1-100, 因此本题可以用简单的数组来解决, 数组下标表示对应的整数, 0不做任何表示. 然后遍历数组将频率最多的元素相加即可. 可以设置一个max标志位来表示当前的最大频率, 相等则增加和, 比max大则将和重置并设max为新的最大值.
+
+### 代码
+
+```go
+func maxFrequencyElements(nums []int) int {
+    frequency := make([]int, 101)
+    for _,value := range nums{
+        frequency[value]++
+    }
+    max := 0
+    sum := 0
+    for _,value := range frequency{
+        if value > max{
+            max = value
+            sum = max
+        } else if value == max{
+            sum += value
+        }else{
+            continue
+        }
+    }
+    return sum
+}
+```
+
+### 总结
+
+本题注意考查数据范围, 在数据范围有限的情况下直接使用数组要比哈希表快得多.