Learn
Practice
Newsletter
Resources
Mobile
New
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Number of Good Pairs
Bookmark
Input
Example 1
Example 2
Example 3
Custom
nums
=
[1, 2, 3, 1, 1, 3]
1
2
3
1
1
3
0
1
2
3
4
5
freq
(empty)
count each value's pairs as you scan
good pairs =
0
1
2
3
1
1
3
0
1
2
3
4
5
freq
(empty)
count each value's pairs as you scan
good pairs =
0
i
1
2
3
1
1
3
0
1
2
3
4
5
freq
(empty)
1 is new, no pair yet
good pairs =
0
i
1
2
3
1
1
3
0
1
2
3
4
5
freq
2 is new, no pair yet
1
:
1
good pairs =
0
i
1
2
3
1
1
3
0
1
2
3
4
5
freq
3 is new, no pair yet
1
:
1
2
:
1
good pairs =
0
+1 good pair
1
2
3
1
1
3
0
1
2
3
4
5
freq
1 seen 1 time before → 1 new pair
1
:
1
2
:
1
3
:
1
good pairs =
0
+1 good pair
1
2
3
1
1
3
0
1
2
3
4
5
freq
add 1 to count
1
:
1
2
:
1
3
:
1
good pairs =
1
▲
+2 good pairs
1
2
3
1
1
3
0
1
2
3
4
5
freq
1 seen 2 times before → 2 new pairs
1
:
2
2
:
1
3
:
1
good pairs =
1
i
1
2
3
1
1
3
0
1
2
3
4
5
freq
now freq[1] counts this occurrence
1
:
3
2
:
1
3
:
1
good pairs =
3
+1 good pair
1
2
3
1
1
3
0
1
2
3
4
5
freq
add 1 to count
1
:
3
2
:
1
3
:
1
good pairs =
4
▲
1
2
3
1
1
3
0
1
2
3
4
5
freq
1
:
3
2
:
1
3
:
2
good pairs =
4
algo
master
.
io
Step:
A pair (i, j) is "good" when nums[i] = nums[j] and i < j
0 / 17
Input
Example 1
Example 2
Example 3
Custom
nums
=
[1, 2, 3, 1, 1, 3]
0 / 17
algo
master
.
io
Step:
A pair (i, j) is "good" when nums[i] = nums[j] and i < j