Featured Post

How to Read a CSV File from Amazon S3 Using Python (With Headers and Rows Displayed)

Image
  Introduction If you’re working with cloud data, especially on AWS, chances are you’ll encounter data stored in CSV files inside an Amazon S3 bucket . Whether you're building a data pipeline or a quick analysis tool, reading data directly from S3 in Python is a fast, reliable, and scalable way to get started. In this blog post, we’ll walk through: Setting up access to S3 Reading a CSV file using Python and Boto3 Displaying headers and rows Tips to handle larger datasets Let’s jump in! What You’ll Need An AWS account An S3 bucket with a CSV file uploaded AWS credentials (access key and secret key) Python 3.x installed boto3 and pandas libraries installed (you can install them via pip) pip install boto3 pandas Step-by-Step: Read CSV from S3 Let’s say your S3 bucket is named my-data-bucket , and your CSV file is sample-data/employees.csv . ✅ Step 1: Import Required Libraries import boto3 import pandas as pd from io import StringIO boto3 is...

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

SQL Query: 3 Methods for Calculating Cumulative SUM

5 SQL Queries That Popularly Used in Data Analysis

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