Find all Symmetric pairs in an array
Learn how to solve the 'Find all Symmetric pairs in an array' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Write a function symmetric_pairs(arr) that takes a list of pairs (list of 2-element lists) and returns all symmetric pairs. A pair [a, b] is symmetric with another pair [b, a] if both exist in the array. Return the result as a sorted list of pairs where the first element of the pair is smaller. Each symmetric pair should appear only once.
- •1 <= len(arr) <= 10^4
- •Each element is a list of 2 integers
- •-10^6 <= arr[i][j] <= 10^6
Examples
arr = [[1, 2], [2, 1], [3, 4], [4, 3], [5, 6]]
[[1, 2], [3, 4]]
[1,2] and [2,1] are symmetric. [3,4] and [4,3] are symmetric. [5,6] has no symmetric pair.
arr = [[1, 2], [3, 4]]
[]
No pair has its reverse in the array.
arr = [[10, 20], [20, 10]]
[[10, 20]]
[10,20] and [20,10] form a symmetric pair.
Need a Hint?
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.