File tree Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ package index
2
+
3
+ func Max (a , b int ) int {
4
+ return max (a , b )
5
+ }
6
+ func MaxEqualFreq (nums []int ) int {
7
+
8
+ return maxEqualFreq (nums )
9
+ }
Original file line number Diff line number Diff line change
1
+ module github.com/masx200/leetcode-test/maximum-equal-frequency
2
+
3
+ go 1.19
Original file line number Diff line number Diff line change
1
+ package index
2
+
3
+ func maxEqualFreq (nums []int ) (ans int ) {
4
+ freq := map [int ]int {}
5
+ count := map [int ]int {}
6
+ maxFreq := 0
7
+ for i , num := range nums {
8
+ if count [num ] > 0 {
9
+ freq [count [num ]]--
10
+ }
11
+ count [num ]++
12
+ maxFreq = max (maxFreq , count [num ])
13
+ freq [count [num ]]++
14
+ if maxFreq == 1 ||
15
+ freq [maxFreq ]* maxFreq + freq [maxFreq - 1 ]* (maxFreq - 1 ) == i + 1 && freq [maxFreq ] == 1 ||
16
+ freq [maxFreq ]* maxFreq + 1 == i + 1 && freq [1 ] == 1 {
17
+ ans = max (ans , i + 1 )
18
+ }
19
+ }
20
+ return
21
+ }
22
+
23
+ func max (a , b int ) int {
24
+ if b > a {
25
+ return b
26
+ }
27
+ return a
28
+ }
You can’t perform that action at this time.
0 commit comments