Python Logic to Find All Unique Pairs in an Array
Here's the Python logic for finding all unique pairs in an array that sum up to a target value.
Python Unique Pair
Problem
Write a Python function that finds all unique pairs in an array whose sum equals a target value. Avoid duplicates in the result. For example:
- Input:
arr = [2, 4, 3, 5, 7, 8, 9]
,target = 9
- Output:
[(2, 7), (4, 5)]
Hints
- Use a set for tracking seen numbers.
- Check for complements efficiently.
Example
def find_unique_pairs(arr, target):
"""
Finds all unique pairs in the array that sum up to the target value.
Parameters:
arr (list): The input array of integers.
target (int): The target sum value.
Returns:
list: A list of unique pairs that sum to the target value.
"""
seen = set()
pairs = set()
for num in arr:
complement = target - num
if complement in seen:
# Add the pair in sorted order to avoid duplicates
pairs.add(tuple(sorted((num, complement))))
seen.add(num)
return list(pairs)
# Example usage
input_array = [2, 4, 3, 5, 7, 8, 9]
target_sum = 9
result = find_unique_pairs(input_array, target_sum)
print("Input Array:", input_array)
print("Target Sum:", target_sum)
print("Unique Pairs:", result)
Output:
For the input array [2, 4, 3, 5, 7, 8, 9]
and target 9
, the output will be:
Explanation:
Tracking Seen Elements (
seen
Set):- Store numbers already processed in a set.
- This helps in quickly checking if the complement (i.e.,
target - num
) exists.
Avoiding Duplicate Pairs (
pairs
Set):- Pairs are stored in a set to automatically handle duplicate pairs.
- Each pair is added as a sorted tuple to maintain consistency (e.g.,
(2, 7)
and(7, 2)
are treated as the same).
Conversion to List:
- The result is converted to a list for output.
Comments
Post a Comment
Thanks for your message. We will get back you.