Featured Post

14 Top Data Pipeline Key Terms Explained

Image
 Here are some key terms commonly used in data pipelines 1. Data Sources Definition: Points where data originates (e.g., databases, APIs, files, IoT devices). Examples: Relational databases (PostgreSQL, MySQL), APIs, cloud storage (S3), streaming data (Kafka), and on-premise systems. 2. Data Ingestion Definition: The process of importing or collecting raw data from various sources into a system for processing or storage. Methods: Batch ingestion, real-time/streaming ingestion. 3. Data Transformation Definition: Modifying, cleaning, or enriching data to make it usable for analysis or storage. Examples: Data cleaning (removing duplicates, fixing missing values). Data enrichment (joining with other data sources). ETL (Extract, Transform, Load). ELT (Extract, Load, Transform). 4. Data Storage Definition: Locations where data is stored after ingestion and transformation. Types: Data Lakes: Store raw, unstructured, or semi-structured data (e.g., S3, Azure Data Lake). Data Warehous...

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.

Unique pairs in an array


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:


Input Array: [2, 4, 3, 5, 7, 8, 9] Target Sum: 9 Unique Pairs: [(4, 5), (2, 7)]

Explanation:

  1. 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.
  2. 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).
  3. Conversion to List:

    • The result is converted to a list for output.


Comments

Popular posts from this blog

How to Fix datetime Import Error in Python Quickly

SQL Query: 3 Methods for Calculating Cumulative SUM

Big Data: Top Cloud Computing Interview Questions (1 of 4)