Skip to main content
← Problem catalogue Understand the pattern. Try it yourself. Review the solution. Practice this pattern →
Easy Hash Map / Set Medium frequency Solution Available Practice Mode

Number of Good Pairs LeetCode Solution

Tags: #Array #Hash Table #Math #Counting

Approach Summary

Track frequency of each number. When we see nums[i] for the k-th time it forms k-1 new good pairs. Sum those counts.

Practice Mode

Solve it yourself before revealing the code

DSA interviews test reasoning from brute force to optimal. Think through the constraints first.

Algorithmic Pattern

Master the Hash Map / Set Pattern

View Pattern Guide →

Study the core invariant, step-by-step decision framework, and common interview traps for the Hash Map / Set pattern.

Framework: Hash Map / Set • Interview Prep: Tested at FAANG • Explore all Hash Map / Set problems & invariants →

How to Recognize This Pattern

  • Count pairs (i,j) where i < j and nums[i] == nums[j]
  • Each new occurrence pairs with all prior occurrences

Complexity Analysis

Time Complexity

O(n)

Space Complexity

O(n)

Tags

Array Hash Table Math Counting

Frequently Asked Questions

What is the optimal time and space complexity for Number of Good Pairs?
The optimal solution for Number of Good Pairs achieves O(n) runtime complexity and requires O(n) auxiliary space. Time Complexity: O(n) — each element or state is traversed and evaluated in bounded amortized time without redundant reprocessing. Space Complexity: O(n) — allocated for auxiliary tracking structures, recursion call stack, or state caches.
How do I identify that Number of Good Pairs requires the Hash Map / Set pattern?
In technical interviews, look for key problem signals: Count pairs (i,j) where i < j and nums[i] == nums[j]; Each new occurrence pairs with all prior occurrences. Recognizing these invariants allows you to bypass naive brute-force exhaustive search in favor of Hash Map / Set strategy.
What critical edge cases must be handled in Number of Good Pairs?
Essential edge cases to verify include: Key recognition trigger: Count pairs (i,j) where i < j and nums[i] == nums[j].; Constraint condition: Each new occurrence pairs with all prior occurrences.; Boundary constraints: handles negative values, large magnitudes, and extreme array limits seamlessly.; Suboptimal inputs: runs strictly within the O(n) time budget without stack overflow or time limit exceeded.. Always walk through these scenarios with your interviewer before coding.
Which tech companies frequently ask Number of Good Pairs?
Number of Good Pairs is a Easy-difficulty question tagged with medium recurrence. It is actively asked in technical screening and onsite interview loops at Amazon.
Buy me a coffee
Daily Practice
0/0