Tags

Subarray / Substring Problems

Subarray / Substring Problems

1 lesson
1 problem
1 community item

subarray-substring

Algorithms

1 lesson

Sliding Window (Intro)

Free
Beginner

55 min

2 prereqs

To find the longest substring of `s` with no repeated characters, the brute-force approach checks every substring in `O(n^3)` time. The sliding-window solution touches each character at most twice and runs in `O(n)`: extend a right pointer until a duplicate appears, then advance a left pointer until the duplicate is gone, repeating until the right pointer falls off the end. **Sliding Window (Intro)** turns that idea into two reusable templates. The fixed-size window slides a range of length `k` across the array and updates the running sum or count by adding the new right element and removing the old left element, never recomputing from scratch. The variable-size window expands the right edge while a condition holds and shrinks the left edge to restore that condition, tracking the window's contents with a hash map or counter. You will apply both to maximum-sum subarray of size `k`, longest substring without repeating characters, minimum window substring, and longest substring with at most `k` distinct characters. In **Two Pointers (Intro)**, you used coordinated indices to walk an array linearly. **Hash Map (Dictionary) Basics** gave you the `O(1)` lookup and update that lets a window track its own contents efficiently. Sliding window combines both: two indices and one hash map. From here you turn to **Recursion Fundamentals**, which trades sequential index movement for self-similar subproblems.

Not Started

0%

Algorithms
Sliding Window
Arrays
Strings
Subarray / Substring Problems
Time Complexity
Beginner
Free

Practice Problems

1 problem

Subarray Sum Equals K

Not Started
Medium

Count the total number of contiguous subarrays whose sum equals k using a prefix sum hash map technique.

Arrays
Hash Map / Dictionary
Prefix Sum
Subarray / Substring Problems
Intermediate

709

22