Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Learning Data Structures
·
Module 2
Arrays & Hashing
1
Dynamic Arrays with ArrayList: Operations and Complexities
Perform dynamic array operations using Java's ArrayList and understand its time complexities.
2
Two-Pointer Technique for Array Problems
Apply the two-pointer technique to solve problems on sorted and unsorted arrays (e.g., two sum, move zeros).
3
Kadane's Algorithm: Maximum Subarray Sum
Implement Kadane's algorithm to find the maximum subarray sum.
4
Prefix Sums for Range Queries
Utilize prefix sums to efficiently answer range-sum queries and solve related problems.
HashMap and HashSet for Frequency Counting and Lookups
Use Java's HashMap and HashSet to solve problems involving frequency counting and lookups.
6
Solving Two Sum: From Brute Force to Optimal HashMap
Solve the 'Two Sum' problem, progressing from a brute-force approach to an optimal one-pass HashMap solution.
Longest Consecutive Sequence with HashSet
Find the longest consecutive sequence in an unsorted array using a HashSet for O(1) lookups.
8
Counting Subarrays with a Given Sum
Count subarrays with a given sum using a HashMap to store prefix sum frequencies.
Previous module
Foundations: Complexity & Recursion
Next module
Sorting & Searching Algorithms