Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Number of Good Pairs
Bookmark
Brute Force
Frequency + Math
Single Pass
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
check every pair (i, j) with i < j
good pairs =
0
1
2
3
1
1
3
0
1
2
3
4
5
check every pair (i, j) with i < j
good pairs =
0
1
2
3
1
1
3
0
1
2
3
4
5
i
j
nums[0] ≠ nums[1] → skip
good pairs =
0
1
2
3
1
1
3
0
1
2
3
4
5
i
j
count the pair (0, 3)
good pairs =
1
▲
1
2
3
1
1
3
0
1
2
3
4
5
i
j
nums[0] ≠ nums[5] → skip
good pairs =
2
1
2
3
1
1
3
0
1
2
3
4
5
i
j
nums[1] ≠ nums[3] → skip
good pairs =
2
1
2
3
1
1
3
0
1
2
3
4
5
i
fix i = 2, scan every j to its right
good pairs =
2
1
2
3
1
1
3
0
1
2
3
4
5
i
j
nums[2] == nums[5] → good pair
good pairs =
2
1
2
3
1
1
3
0
1
2
3
4
5
i
j
nums[3] == nums[4] → good pair
good pairs =
3
1
2
3
1
1
3
0
1
2
3
4
5
i
fix i = 4, scan every j to its right
good pairs =
4
1
2
3
1
1
3
0
1
2
3
4
5
good pairs =
4
algo
master
.
io
Step:
A pair (i, j) is "good" when nums[i] = nums[j] and i < j
0 / 27
Input
Example 1
Example 2
Example 3
Custom
nums
=
[1, 2, 3, 1, 1, 3]
0 / 27
algo
master
.
io
Step:
A pair (i, j) is "good" when nums[i] = nums[j] and i < j