Program to find intervals that do not intersect the cut interval in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:26:53

310 Views

Given a sorted list of disjoint intervals and a cut interval, we need to remove all parts that intersect with the cut interval and return the remaining portions. This is useful for scheduling, range queries, and interval manipulation problems. Problem Understanding For each interval in our list, we check if it intersects with the cut interval. If it does, we keep only the non-overlapping parts. If it doesn't intersect at all, we keep the entire interval. Interval Cutting Example Original: [2, ... Read More

Program to find number of minimum steps to reach last index in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:26:26

632 Views

Suppose we have a list of numbers called nums and we are placed currently at nums[0]. On each step, we can either jump from the current index i to i + 1 or i - 1 or j where nums[i] == nums[j]. We have to find the minimum number of steps required to reach the final index. So, if the input is like nums = [4, 8, 8, 5, 4, 6, 5], then the output will be 3, as we can jump from index 0 to index 4 as their values are both 4. And then we jump back ... Read More

Program to find number of friend groups in a set of friends connections in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:26:07

886 Views

Finding friend groups in a network is a classic graph connectivity problem. We need to count the number of connected components where each person is represented as a node and friendships as edges. This can be solved using Depth-First Search (DFS) to traverse connected friends. Understanding the Problem Given a friends list where friends[i] contains the indices of people that person i is friends with, we need to find how many separate friend groups exist. Two people belong to the same group if there's a path of mutual friendships connecting them. ... Read More

Program to find maximum sum by flipping each row elements in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:25:38

357 Views

Suppose we have a 2D binary matrix. For any row or column in the given matrix we can flip all the bits. If we can perform any number of these operations, and we treat each row as a binary number, we have to find the largest sum that can be made of these numbers. So, if the input is like ? 0 ... Read More

Campus Bikes II in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:25:15

344 Views

The Campus Bikes II problem involves assigning unique bikes to workers on a 2D grid such that the total Manhattan distance is minimized. Given N workers and M bikes (where N ≤ M), we need to find the optimal assignment. The Manhattan distance between two points p1 and p2 is calculated as: |p1.x - p2.x| + |p1.y - p2.y|. Problem Example Given workers = [[0, 0], [2, 1]] and bikes = [[1, 2], [3, 3]]: ... Read More

Serialize and Deserialize BST in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:24:48

651 Views

Serialization converts a binary search tree into a string format that can be stored or transmitted, while deserialization reconstructs the tree from that string. This is useful for saving tree data to files or sending it over networks. Problem Overview Given a binary search tree, we need to serialize it into a string and then deserialize it back to the original tree structure. The serialization uses level-order traversal with dots as separators and 'N' for null nodes. 5 2 ... Read More

Max Increase to Keep City Skyline in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:24:12

363 Views

The Max Increase to Keep City Skyline problem asks us to find the maximum total sum that building heights can be increased while maintaining the original skyline when viewed from all four directions. The skyline from each direction is determined by the maximum height in each row (left/right view) and each column (top/bottom view). Problem Understanding Given a 2D grid where each value represents a building height, we need to ? Calculate the skyline from left/right (maximum in each row) Calculate the skyline from top/bottom (maximum in each column) For each position, the maximum possible height ... Read More

Design Log Storage System in Python

Arnab Chakraborty
Updated on 25-Mar-2026 12:23:48

459 Views

A log storage system manages logs with unique IDs and timestamps. Each timestamp follows the format Year:Month:Day:Hour:Minute:Second (e.g., "2019:01:01:23:59:59") with zero-padded decimal numbers. We need to implement two main functions: put(id, timestamp) − Stores a log with its unique ID and timestamp retrieve(start, end, granularity) − Returns log IDs within a time range based on specified granularity (Year, Month, Day, Hour, Minute, Second) How Granularity Works The granularity parameter determines the precision level for comparison. For example, with granularity "Day", timestamps are compared only up to the day level, ignoring hours, minutes, and seconds. ... Read More

Python - Inserting item in sorted list maintaining order

Hafeezul Kareem
Updated on 25-Mar-2026 12:23:21

8K+ Views

In this article, we are going to learn how to insert an item in a sorted list while maintaining the order. Python has a built-in module called bisect that helps us insert any element in the appropriate position in the list efficiently. Using bisect.insort() The bisect.insort() method uses binary search to find the correct insertion point and inserts the element while maintaining the sorted order ? # importing the module import bisect # initializing the list, element numbers = [10, 23, 27, 32] element = 25 # inserting element using bisect.insort(list, element) bisect.insort(numbers, element) ... Read More

Python - Intersect two dictionaries through keys

Hafeezul Kareem
Updated on 25-Mar-2026 12:23:04

2K+ Views

In Python, intersecting two dictionaries through keys means creating a new dictionary containing only the keys that exist in both dictionaries. This is useful for finding common data between two datasets. Input: dict_1 = {'A': 1, 'B': 2, 'C': 3} dict_2 = {'A': 1, 'C': 4, 'D': 5} Output: {'A': 1, 'C': 3} Using Dictionary Comprehension Dictionary comprehension provides the most readable approach to intersect dictionaries by keys ? # initializing the dictionaries dict_1 = {'A': 1, 'B': 2, 'C': 3} dict_2 = {'A': 1, 'C': 4, 'D': 5} # finding ... Read More

Advertisements