Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Articles by Arnab Chakraborty
Page 148 of 377
Wildcard Matching in Python
Wildcard pattern matching allows you to match strings using special characters. In wildcard matching, '?' matches any single character and '*' matches zero or more characters. This is useful for file pattern matching, search operations, and text processing. Wildcard Characters '?' − Matches exactly one character '*' − Matches zero or more characters Dynamic Programming Approach We can solve wildcard matching using dynamic programming. The idea is to build a 2D table where dp[i][j] represents whether the first i characters of the string match the first j characters of the pattern. Algorithm Steps ...
Read MoreTrapping Rain Water in Python
The trapping rain water problem is a classic algorithmic challenge where we calculate how much water can be trapped after raining on an elevation map represented by an array of heights. Each element represents the height of a bar with width 1. ...
Read MoreFirst Missing Positive in Python
The First Missing Positive problem asks us to find the smallest missing positive integer from an unsorted array. For example, given the array [4, -3, 1, -1], the result is 2 since 1 is present but 2 is missing. Algorithm Approach We use a cyclic sort approach to solve this efficiently: Add a 0 at the beginning to handle 1-based indexing Place each positive number at its correct index position Scan the array to find the first missing positive Example Implementation Here's the complete solution using cyclic sort ? class Solution: ...
Read MoreLongest Valid Parentheses in Python
Finding the longest valid parentheses substring is a common problem that can be solved efficiently using a stack-based approach. Given a string containing only '(' and ')' characters, we need to find the length of the longest valid (well-formed) parentheses substring. For example, in the string "))(())())", the longest valid parentheses substring is "(())())" with length 6. Algorithm Approach We use a stack to track indices of unmatched parentheses ? Initialize a stack with −1 to handle edge cases For each character, if it's '(', push its index onto the stack If it's ')', check ...
Read MoreMerge k Sorted Lists in Python
Merging k sorted lists is a classic algorithm problem. Given multiple sorted linked lists, we need to combine them into a single sorted list. Python's heapq module provides an efficient solution using a min-heap data structure. Problem Understanding Given k sorted linked lists like [1, 4, 5], [1, 3, 4], [2, 6], we need to merge them into one sorted list [1, 1, 2, 3, 4, 4, 5, 6]. Algorithm Steps Create a min-heap to store the smallest elements from each list Add the first node of each non-empty list to the heap Repeatedly extract ...
Read MoreCompare Version Numbers in Python
Comparing version numbers is a common programming task. Python provides several ways to compare version strings like "1.0.1" and "1.2.3". When comparing versions, we return 1 if the first version is greater, -1 if it's smaller, and 0 if they're equal. Understanding Version Number Comparison Version numbers consist of numeric parts separated by dots. Each part represents a different level of revision ? Version "2.5" means the 5th second-level revision of the 2nd first-level revision Missing parts default to 0 (e.g., "1.2" is equivalent to "1.2.0.0...") Compare each part from left to right until finding a ...
Read MoreLongest Well-Performing Interval in Python
The Longest Well-Performing Interval problem requires finding the longest subarray where tiring days (hours > 8) outnumber non-tiring days. We solve this using a prefix sum approach with a hashmap to track cumulative balance efficiently. Understanding the Problem A tiring day occurs when hours worked > 8. A well-performing interval is a subarray where tiring days strictly outnumber non-tiring days. We transform each day into +1 (tiring) or -1 (non-tiring) and find the longest subarray with positive sum. Algorithm Approach We use a prefix sum technique with the following key insights: Convert hours to ...
Read MoreCorporate Flight Bookings in Python
The Corporate Flight Bookings problem involves calculating the total number of seats booked on each flight when given multiple booking ranges. Each booking specifies a range of flights and the number of seats to book across that range. Problem Understanding Given n flights labeled 1 to n, and a list of bookings where each booking [i, j, k] means k seats are booked from flight i to flight j (inclusive), we need to find the total seats booked on each flight. Example With bookings [[1, 2, 10], [2, 3, 20], [2, 5, 25]] and n = ...
Read MoreCar Pooling in Python
Car pooling is a common algorithmic problem where we need to determine if a vehicle can accommodate all passenger trips without exceeding its capacity. The vehicle travels only eastward, picking up and dropping off passengers at specific locations. Problem Understanding Given a list of trips where each trip contains [num_passengers, start_location, end_location] and a vehicle capacity, we need to check if all trips can be completed without exceeding the capacity limit. Algorithm Approach We use a difference array technique to track passenger changes at each location ? Create an array to track passenger count ...
Read MoreLargest Values From Labels in Python
The Largest Values From Labels problem involves selecting items from a collection to maximize the sum while respecting constraints on the total number of items and usage limits per label. Problem Statement Given a set of items where the i-th item has values[i] and labels[i], we need to find a subset S such that: |S| ≤ num_wanted For every label L, the number of items in S with label L is ≤ use_limit The goal is to find the largest possible sum of the subset S. ...
Read More