← All DSA Sheets

Rohit Negi · Coder Army

Rohit Negi DSA Sheet

Beginner-to-advanced practice across data structures and algorithms.

726 practice entries · Source checked

0 / 726 completed0%
About this source edition

Creator-published spreadsheet

“Source checked” is when this edition was retrieved, not a claim that the creator updated it then.

Original sheet ↗

Array

0 / 45
DoneProblemLevelPracticeVideo
Search an Element in an array EasyOpen ↗—
Check if two arrays are equal or not EasyOpen ↗—
Missing element of AP EasyOpen ↗—
Cyclically rotate an array by one EasyOpen ↗—
Find minimum and maximum element in an array EasyOpen ↗—
Binary Array Sorting EasyOpen ↗—
Move all negative elements to end EasyOpen ↗—
Missing number EasyOpen ↗—
Search Element in Matrix EasyOpen ↗—
Find the fine EasyOpen ↗—
Greater on right side EasyOpen ↗—
Remove duplicate elements from sorted Array EasyOpen ↗—
Subarray with given sum EasyOpen ↗—
Sort an array of 0s, 1s and 2s EasyOpen ↗—
Equilibrium Point EasyOpen ↗—
Peak element EasyOpen ↗—
Find Transition Point EasyOpen ↗—
Alternate positive and negative numbers EasyOpen ↗—
Union of Two Sorted Arrays EasyOpen ↗—
Three way partitioning EasyOpen ↗—
Frogs and Jumps EasyOpen ↗—
Min Subsets with Consecutive Numbers EasyOpen ↗—
Find Missing And Repeating MediumOpen ↗—
Rearrange Array Alternately MediumOpen ↗—
Pythagorean Triplet MediumOpen ↗—
Rearrange an array with O(1) extra space MediumOpen ↗—
Count triplets with sum smaller than X MediumOpen ↗—
Boolean Matrix MediumOpen ↗—
Row with max 1s MediumOpen ↗—
Container With Most Water MediumOpen ↗—
Maximum Triplet product MediumOpen ↗—
Coins of Geekland MediumOpen ↗—
Next Permutation MediumOpen ↗—
Rotate Image MediumOpen ↗—
Count Primes MediumOpen ↗—
Watering Plants MediumOpen ↗—
Arithmetic Subarrays MediumOpen ↗—
Majority Element MediumOpen ↗—
Max Circular Subarray Sum HardOpen ↗—
Count the subarrays having product less than k HardOpen ↗—
Maximum subset XOR HardOpen ↗—
Next Smallest Palindrome HardOpen ↗—
Count the number of subarrays HardOpen ↗—
Largest rectangle of 1s with swapping of columns allowed HardOpen ↗—
N/3 Repeat Number HardOpen ↗—

String

0 / 39
DoneProblemLevelPracticeVideo
Reverse a String EasyOpen ↗—
Check if strings are rotations of each other or not EasyOpen ↗—
Maximum Occuring Character EasyOpen ↗—
Binary String EasyOpen ↗—
Anagram of String EasyOpen ↗—
Merge two strings EasyOpen ↗—
Reverse words in a given string EasyOpen ↗—
Palindrome String EasyOpen ↗—
Longest Common Prefix in an Array EasyOpen ↗—
Roman Number to Integer EasyOpen ↗—
Length of Last Word EasyOpen ↗—
Longest Distinct characters in string EasyOpen ↗—
Remove all duplicates from a given string EasyOpen ↗—
Min Number of Flips EasyOpen ↗—
Meta Strings EasyOpen ↗—
Smallest window containing 0, 1 and 2 EasyOpen ↗—
Generate Grey Code Sequences EasyOpen ↗—
Sum of two large numbers MediumOpen ↗—
Length of the longest substring MediumOpen ↗—
Longest Prefix Suffix MediumOpen ↗—
Smallest distinct window MediumOpen ↗—
Case-specific Sorting of Strings MediumOpen ↗—
Excel Sheet | Part - 1 MediumOpen ↗—
Transform String MediumOpen ↗—
Remove and Reverse MediumOpen ↗—
String formation from substring MediumOpen ↗—
Minimum Days MediumOpen ↗—
Remove Consecutive Characters MediumOpen ↗—
Bulls and Cows MediumOpen ↗—
Atoi MediumOpen ↗—
Valid Ip Addresses HardOpen ↗—
Integer To Roman HardOpen ↗—
Minimum characters to be added at front to make string palindrome HardOpen ↗—
Wildcard string matching HardOpen ↗—
Longest Palindromic Substring in Linear Time HardOpen ↗—
Numbers with one absolute difference HardOpen ↗—
Stringoholics HardOpen ↗—
Power of 2 HardOpen ↗—
Justified Text HardOpen ↗—

Searching and Sorting

0 / 65
DoneProblemLevelPracticeVideo
Searching an element in a sorted array EasyOpen ↗—
Last index of One EasyOpen ↗—
Count the Zeros EasyOpen ↗—
Elements in the Range EasyOpen ↗—
Bubble Sort EasyOpen ↗—
Insertion Sort EasyOpen ↗—
First and last occurrences of X EasyOpen ↗—
Count zeros in a sorted matrix EasyOpen ↗—
Array Subset of another array EasyOpen ↗—
Selection Sort EasyOpen ↗—
Floor in a Sorted Array EasyOpen ↗—
Radix Sort EasyOpen ↗—
Search in a matrix EasyOpen ↗—
Bitonic Point EasyOpen ↗—
Two Repeated Elements EasyOpen ↗—
Count More than n/k Occurences EasyOpen ↗—
Number and the Digit Sum EasyOpen ↗—
Find triplets with zero sum EasyOpen ↗—
Sort The Array EasyOpen ↗—
Sort in specific order EasyOpen ↗—
Sort a String EasyOpen ↗—
Triplet Family EasyOpen ↗—
Merge and Sort EasyOpen ↗—
Merging two unsorted arrays in sorted order EasyOpen ↗—
Rope Cutting EasyOpen ↗—
Make array elements unique EasyOpen ↗—
Kth smallest element MediumOpen ↗—
Smallest Positive missing number MediumOpen ↗—
Sort an array according to the other MediumOpen ↗—
Square root of a number MediumOpen ↗—
Search in a row-column sorted Matrix MediumOpen ↗—
Smallest factorial number MediumOpen ↗—
Merge Sort MediumOpen ↗—
Quick Sort MediumOpen ↗—
Count Inversions MediumOpen ↗—
Find All Four Sum Numbers MediumOpen ↗—
Minimum Swaps to Sort MediumOpen ↗—
Number of pairs MediumOpen ↗—
Sort an Array MediumOpen ↗—
Sorting Elements of an Array by Frequency MediumOpen ↗—
Overlapping Intervals MediumOpen ↗—
Find minimum number of Laptops required MediumOpen ↗—
LCP MediumOpen ↗—
Reach a Number MediumOpen ↗—
Heaters MediumOpen ↗—
Friends Of Appropriate Ages MediumOpen ↗—
Koko Eating Bananas MediumOpen ↗—
3Sum MediumOpen ↗—
3Sum Closest MediumOpen ↗—
Nth Digit MediumOpen ↗—
Sort a 2D vector diagonally MediumOpen ↗—
Maximum Intersecting Lines MediumOpen ↗—
Merge Without Extra Space HardOpen ↗—
Median of the Subarrays HardOpen ↗—
Median of Array HardOpen ↗—
Implement Power Function HardOpen ↗—
WoodCutting Made Easy! HardOpen ↗—
Matrix Median HardOpen ↗—
Allocate Books HardOpen ↗—
Painter's Partition Problem HardOpen ↗—
Red Zone HardOpen ↗—
Max Sum of Rectangle No Larger Than K HardOpen ↗—
Smallest Good Base HardOpen ↗—
House Robber IV HardOpen ↗—
Maximum Gap HardOpen ↗—

LinkedList

0 / 59
DoneProblemLevelPracticeVideo
Print Linked List elements EasyOpen ↗—
Linked List Insertion EasyOpen ↗—
Count nodes of linked list EasyOpen ↗—
Check If Circular Linked List EasyOpen ↗—
Identical Linked Lists EasyOpen ↗—
Insert in a Sorted List EasyOpen ↗—
Insert in Middle of Linked List EasyOpen ↗—
Delete node in Doubly Linked List EasyOpen ↗—
Reverse a Doubly Linked List EasyOpen ↗—
Delete Alternate Nodes EasyOpen ↗—
Find the Sum of Last N nodes of the Linked List EasyOpen ↗—
Find n/k th node in Linked list EasyOpen ↗—
Detect Loop in linked list EasyOpen ↗—
Move Last Element to Front of a Linked List EasyOpen ↗—
Nth node from end of linked list EasyOpen ↗—
Finding middle element in a linked list EasyOpen ↗—
Reverse a linked list EasyOpen ↗—
Remove duplicate element from sorted Linked List EasyOpen ↗—
Delete without head pointer EasyOpen ↗—
Remove duplicates from an unsorted linked list EasyOpen ↗—
Delete a Node in Single Linked List EasyOpen ↗—
Given a linked list of 0s, 1s and 2s, sort it. EasyOpen ↗—
Find length of Loop EasyOpen ↗—
Intersection of two sorted Linked lists EasyOpen ↗—
Pairwise swap elements of a linked list EasyOpen ↗—
Sorted insert for circular linked list EasyOpen ↗—
Count Pairs whose sum is equal to X EasyOpen ↗—
Intersection of Two Linked Lists EasyOpen ↗—
Split a Circular Linked List into two halves EasyOpen ↗—
Union of Two Linked Lists EasyOpen ↗—
Linked List Matrix EasyOpen ↗—
XOR Linked List EasyOpen ↗—
Remove loop in Linked List MediumOpen ↗—
Intersection Point in Y Shaped Linked Lists MediumOpen ↗—
Check if Linked List is Palindrome MediumOpen ↗—
Rotate a Linked List MediumOpen ↗—
Merge two sorted linked lists MediumOpen ↗—
Delete nodes having greater value on right MediumOpen ↗—
Merge Sort for Linked List MediumOpen ↗—
Rearrange a linked list MediumOpen ↗—
Prime List MediumOpen ↗—
Length of longest palindrome in linked list MediumOpen ↗—
Reverse alternate nodes in Link List MediumOpen ↗—
Merge Sort on Doubly Linked List MediumOpen ↗—
Quick Sort on Linked List MediumOpen ↗—
QuickSort on Doubly Linked List MediumOpen ↗—
Remove all occurences of duplicates in a linked list MediumOpen ↗—
Insertion Sort for Singly Linked List MediumOpen ↗—
Reverse Alternate K Nodes MediumOpen ↗—
Linked List Cycle II MediumOpen ↗—
LRU Cache MediumOpen ↗—
Flatten a Multilevel Doubly Linked List MediumOpen ↗—
Clone a linked list with next and random pointer HardOpen ↗—
Reorder List HardOpen ↗—
Reverse a sublist of a linked list HardOpen ↗—
LFU Cache HardOpen ↗—
Reverse Nodes in k-Group HardOpen ↗—
Design Skiplist HardOpen ↗—
Subtraction in Linked List HardOpen ↗—

Stack

0 / 39
DoneProblemLevelPracticeVideo
Immediate Smaller Element EasyOpen ↗—
Implement stack using array EasyOpen ↗—
Implement Stack using Linked List EasyOpen ↗—
Pairwise Consecutive Elements EasyOpen ↗—
Parenthesis Checker EasyOpen ↗—
Sort a stack EasyOpen ↗—
Delete middle element of a stack EasyOpen ↗—
Maximum Difference EasyOpen ↗—
Print Bracket Number EasyOpen ↗—
Max sum in sub-arrays EasyOpen ↗—
String Manipulation EasyOpen ↗—
Make the array beautiful EasyOpen ↗—
Next Greater Element I EasyOpen ↗—
Baseball Game EasyOpen ↗—
Backspace String Compare EasyOpen ↗—
Next Greater Element MediumOpen ↗—
Get minimum element from stack MediumOpen ↗—
The Celebrity Problem MediumOpen ↗—
Smallest number on left MediumOpen ↗—
Asteroid Collision MediumOpen ↗—
Remove K Digits MediumOpen ↗—
Valid Expression MediumOpen ↗—
Find Maximum Equal sum of Three Stacks MediumOpen ↗—
MAXSPPROD MediumOpen ↗—
Decode String MediumOpen ↗—
Evaluate Expression MediumOpen ↗—
Redundant Braces MediumOpen ↗—
Next Greater Element II MediumOpen ↗—
Clumsy Factorial MediumOpen ↗—
Maximum Rectangular Area in a Histogram HardOpen ↗—
Maximum of minimum for every window size HardOpen ↗—
IPL 2021 - Final HardOpen ↗—
IPL 2021 - Match Day 6 - Semi Final HardOpen ↗—
Rain Water Trapped HardOpen ↗—
Simplify Directory Path HardOpen ↗—
Basic Calculator HardOpen ↗—
Create Maximum Number HardOpen ↗—
Tag Validator HardOpen ↗—
Max Chunks To Make Sorted II HardOpen ↗—

Queue

0 / 24
DoneProblemLevelPracticeVideo
Queue Push & Pop EasyOpen ↗—
Queue Reversal EasyOpen ↗—
Implement Queue using array EasyOpen ↗—
Implement Queue using Linked List EasyOpen ↗—
Generate Binary Numbers EasyOpen ↗—
Stack using two queues EasyOpen ↗—
Queue using two Stacks EasyOpen ↗—
Reverse First K elements of Queue EasyOpen ↗—
Deque Implementations EasyOpen ↗—
Next Right Node EasyOpen ↗—
First Unique Character in a Str EasyOpen ↗—
Number of Recent Calls EasyOpen ↗—
Time Needed to Buy Tickets EasyOpen ↗—
First non-repeating character in a stream MediumOpen ↗—
Circular tour MediumOpen ↗—
Count the Reversals MediumOpen ↗—
Stack Permutations MediumOpen ↗—
Operations on PriorityQueue MediumOpen ↗—
Design Circular Deque MediumOpen ↗—
First non-repeating character in a stream of characters MediumOpen ↗—
Sliding Window Maximum MediumOpen ↗—
Stamping The Sequence HardOpen ↗—
Minimum Number of K Consecutive Bit Flips HardOpen ↗—
Count Subarrays With Fixed Bounds HardOpen ↗—

Tree

0 / 60
DoneProblemLevelPracticeVideo
Inorder Traversal EasyOpen ↗—
Preorder Traversal EasyOpen ↗—
Postorder Traversal EasyOpen ↗—
Count Leaves in Binary Tree EasyOpen ↗—
Size of Binary Tree EasyOpen ↗—
Sum of Binary Tree EasyOpen ↗—
Count Non-Leaf Nodes in Tree EasyOpen ↗—
Left View of Binary Tree EasyOpen ↗—
Right View of Binary Tree EasyOpen ↗—
Height of Binary Tree EasyOpen ↗—
Root to leaf paths sum EasyOpen ↗—
Check for Balanced Tree EasyOpen ↗—
Determine if Two Trees are Identical EasyOpen ↗—
Level order traversal EasyOpen ↗—
Level order traversal in spiral form EasyOpen ↗—
Mirror Tree EasyOpen ↗—
Print all nodes that don't have sibling EasyOpen ↗—
Maximum Depth Of Binary Tree EasyOpen ↗—
Shortest distance in infinite tree EasyOpen ↗—
Largest value in each level EasyOpen ↗—
Perfect Binary Tree EasyOpen ↗—
Nodes at Odd Levels EasyOpen ↗—
Remove Half Nodes EasyOpen ↗—
Find the maximum GCD of the siblings of a Binary Tree EasyOpen ↗—
Maximum Node Level EasyOpen ↗—
Deletion in a Binary Tree EasyOpen ↗—
Check if two Nodes are Cousins EasyOpen ↗—
Vertical Order traversal of Binary Tree MediumOpen ↗—
Diagonal Traversal MediumOpen ↗—
Flatten Binary Tree to Linked List MediumOpen ↗—
Merge two Binary Tree MediumOpen ↗—
Maximum Edge Removal MediumOpen ↗—
Populate Next Right Pointers Tree MediumOpen ↗—
Burn a Tree MediumOpen ↗—
Boundary Traversal of binary tree MediumOpen ↗—
Diameter of a Binary Tree MediumOpen ↗—
Sum Tree MediumOpen ↗—
Top View of Binary Tree MediumOpen ↗—
Bottom View of Binary Tree MediumOpen ↗—
Lowest Common Ancestor in a Binary Tree MediumOpen ↗—
Maximum difference between node and its ancestor MediumOpen ↗—
Serialize and Deserialize a Binary Tree MediumOpen ↗—
Maximum sum of Non-adjacent nodes MediumOpen ↗—
Foldable Binary Tree MediumOpen ↗—
Construct Binary Tree from Parent Array MediumOpen ↗—
Make Binary Tree From Linked List MediumOpen ↗—
Check Mirror in N-ary tree MediumOpen ↗—
Inorder Traversal (Iterative) MediumOpen ↗—
Postorder Traversal (Iterative) MediumOpen ↗—
Print Nodes having K leaves MediumOpen ↗—
Print Binary Tree levels in sorted order MediumOpen ↗—
Nodes at given distance in binary tree HardOpen ↗—
Burning Tree HardOpen ↗—
Check if all levels of two trees are anagrams or not HardOpen ↗—
Binary Tree to DLL HardOpen ↗—
Maximum Path Sum between 2 Special Nodes HardOpen ↗—
Scrambled String HardOpen ↗—
Check Tree Traversal HardOpen ↗—
Corona Vaccine HardOpen ↗—
Recover a Tree From Preorder HardOpen ↗—

Binary Search Tree

0 / 44
DoneProblemLevelPracticeVideo
Search a node in BST EasyOpen ↗—
Minimum element in BST EasyOpen ↗—
Check for BST EasyOpen ↗—
Insert a node in a BST EasyOpen ↗—
Kth largest element in BST EasyOpen ↗—
Inorder Traversal and BST EasyOpen ↗—
Binary Tree to BST EasyOpen ↗—
Median of BST EasyOpen ↗—
Kth Smallest Element In Tree EasyOpen ↗—
BST Iterator EasyOpen ↗—
2-Sum Binary Tree EasyOpen ↗—
Find Common Nodes in two BSTs EasyOpen ↗—
Array to BST EasyOpen ↗—
Inorder Successor in BST EasyOpen ↗—
Print BST elements in given range EasyOpen ↗—
Check whether BST contains Dead End EasyOpen ↗—
Brothers From Different Roots EasyOpen ↗—
Sum of k smallest elements in BST EasyOpen ↗—
Minimum Distance Between EasyOpen ↗—
Normal BST to Balanced BST EasyOpen ↗—
Construct BST from Postorder EasyOpen ↗—
Recover Binary Search Tree MediumOpen ↗—
Valid BST from Preorder MediumOpen ↗—
k-th smallest element in BST MediumOpen ↗—
Delete a node from BST MediumOpen ↗—
Largest BST MediumOpen ↗—
Predecessor and Successor MediumOpen ↗—
Preorder to PostOrder MediumOpen ↗—
Find the Closest Element in BST MediumOpen ↗—
Ceil in BST MediumOpen ↗—
Preorder Traversal and BST MediumOpen ↗—
Bheem Wants Ladoos MediumOpen ↗—
Minimum Absolute Difference In BST MediumOpen ↗—
Valentine Sum MediumOpen ↗—
Pairs violating BST property MediumOpen ↗—
Remove BST keys outside given range MediumOpen ↗—
Print leaf nodes from preorder traversal of BST MediumOpen ↗—
Delete nodes greater than k MediumOpen ↗—
Balance a Binary Search Tree MediumOpen ↗—
Merge two BST 's HardOpen ↗—
Fixing Two nodes of a BST HardOpen ↗—
Fixing Two swapped nodes of a BST HardOpen ↗—
Sorted Link List to BST HardOpen ↗—
Shortest Range In BST HardOpen ↗—

Heaps

0 / 36
DoneProblemLevelPracticeVideo
Implement a Maxheap/MinHeap using arrays and recursion. —See source ↗—
Height of Heap EasyOpen ↗—
Relative Ranks EasyOpen ↗—
Last Stone Weight EasyOpen ↗—
Profit Maximisation EasyOpen ↗—
Maximum Product of Two Elem EasyOpen ↗—
Largest Number After Digit Swaps by Parity EasyOpen ↗—
Minimum Amount of Time to Fil EasyOpen ↗—
Take Gifts From the Richest P EasyOpen ↗—
Minimum Cost of ropes EasyOpen ↗—
Sum of elements between k1'th and k2'th smallest elements EasyOpen ↗—
Merge two binary Max heaps EasyOpen ↗—
Maximum distinct elements after removing K elements EasyOpen ↗—
Gadgets of Doraland EasyOpen ↗—
Merge K sorted arrays! EasyOpen ↗—
Magician and Chocolates EasyOpen ↗—
Heap Sort MediumOpen ↗—
k largest elements MediumOpen ↗—
Kth largest element in a stream MediumOpen ↗—
Is Binary Tree Heap MediumOpen ↗—
Kth element in Matrix MediumOpen ↗—
Huffman Encoding MediumOpen ↗—
K-th Smallest Prime Fraction MediumOpen ↗—
Exam Room MediumOpen ↗—
Rearrange characters MediumOpen ↗—
BST to max heap MediumOpen ↗—
Design Twitter MediumOpen ↗—
Minimum increment/decrement to make array non-Increasing MediumOpen ↗—
Find median in a stream HardOpen ↗—
Smallest range in K lists HardOpen ↗—
Reachable Nodes In Subdivided Graph HardOpen ↗—
Ways to form Max Heap HardOpen ↗—
Maximum Sum Combinations HardOpen ↗—
Dinner Plate Stacks HardOpen ↗—
Construct Target Array With HardOpen ↗—
Minimum Time to Visit a Cell In a Grid HardOpen ↗—

Greedy

0 / 46
DoneProblemLevelPracticeVideo
Bulbs EasyOpen ↗—
Ishaan Loves Chocolates EasyOpen ↗—
Assign Mice to Holes EasyOpen ↗—
Majority Element EasyOpen ↗—
Highest Product EasyOpen ↗—
Swap and Maximize EasyOpen ↗—
Good or Bad string EasyOpen ↗—
N meetings in one room EasyOpen ↗—
Longest Palindrome EasyOpen ↗—
Assign Cookies EasyOpen ↗—
Can Place Flowers EasyOpen ↗—
Valid Palindrome II EasyOpen ↗—
Minimum Cost to Move Chips EasyOpen ↗—
Raju and coins EasyOpen ↗—
Huffman Decoding EasyOpen ↗—
Huffman Decoding-1 EasyOpen ↗—
Largest number with given sum EasyOpen ↗—
Disjoint Intervals MediumOpen ↗—
Meeting rooms MediumOpen ↗—
Minimum number of jumps MediumOpen ↗—
Majority Element MediumOpen ↗—
Minimize the Heights I MediumOpen ↗—
Minimize the Heights II MediumOpen ↗—
Minimum Platforms MediumOpen ↗—
Fractional Knapsack MediumOpen ↗—
Page Faults in LRU MediumOpen ↗—
Valid Compressed String MediumOpen ↗—
String rp or pr MediumOpen ↗—
Coin Piles MediumOpen ↗—
Police and Thieves MediumOpen ↗—
Maximum number of events that can be attended MediumOpen ↗—
Water the plants MediumOpen ↗—
Binary Searchable elements MediumOpen ↗—
Decrease Elements To Make A MediumOpen ↗—
Minimum Cost to Move Chips to The Same Position MediumOpen ↗—
Largest Permutation HardOpen ↗—
Distribute Candy HardOpen ↗—
Seats HardOpen ↗—
Gas Station HardOpen ↗—
Candy HardOpen ↗—
Patching Array HardOpen ↗—
Strong Password Checker HardOpen ↗—
IPO HardOpen ↗—
Super Washing Machines HardOpen ↗—
Course Schedule III HardOpen ↗—
Stamping The Sequence HardOpen ↗—

BackTracking

0 / 27
DoneProblemLevelPracticeVideo
Find all possible paths from top to bottom EasyOpen ↗—
Combinations EasyOpen ↗—
Binary Tree Paths EasyOpen ↗—
Gray Code EasyOpen ↗—
Letter Phone EasyOpen ↗—
Generate all Parentheses II EasyOpen ↗—
Permutation with Spaces EasyOpen ↗—
Binary Watch EasyOpen ↗—
Generate IP Addresses MediumOpen ↗—
Sudoku MediumOpen ↗—
Permutations MediumOpen ↗—
Maximal String MediumOpen ↗—
Kth Permutation Sequence MediumOpen ↗—
Palindrome Partitioning MediumOpen ↗—
Permutations of a given string MediumOpen ↗—
M-Coloring Problem MediumOpen ↗—
Combination Sum MediumOpen ↗—
Rat in a Maze Problem - I MediumOpen ↗—
Largest number in K swaps MediumOpen ↗—
Unique Subsets MediumOpen ↗—
Generate Parentheses MediumOpen ↗—
Rat Maze With Multiple Jumps MediumOpen ↗—
Coins and Game MediumOpen ↗—
NQueens HardOpen ↗—
24 Game HardOpen ↗—
Maximum Good People Based on Statements HardOpen ↗—
Expression Add Operators HardOpen ↗—

Hashing

0 / 29
DoneProblemLevelPracticeVideo
First Repeating element EasyOpen ↗—
2 Sum EasyOpen ↗—
Union of two arrays EasyOpen ↗—
First element to occur k times EasyOpen ↗—
Diffk II EasyOpen ↗—
Longest Substring Without Repeat EasyOpen ↗—
Pairs With Given Xor EasyOpen ↗—
Sum of f(a[i], a[j]) over all pairs in an array of n integers EasyOpen ↗—
Substrings with same first and last characters EasyOpen ↗—
Largest subarray with 0 sum EasyOpen ↗—
Count distinct elements in every window EasyOpen ↗—
Largest subarray of 0's and 1's EasyOpen ↗—
Longest consecutive subsequence MediumOpen ↗—
Colorful Number MediumOpen ↗—
Subarray with B odd numbers MediumOpen ↗—
An Increment Problem MediumOpen ↗—
Substring Concatenation MediumOpen ↗—
Copy List MediumOpen ↗—
Triplet Sum in Array MediumOpen ↗—
Nuts and Bolts Problem MediumOpen ↗—
Subarrays with equal 1s and 0s MediumOpen ↗—
Longest subarray with sum divisible by K MediumOpen ↗—
Equal 0, 1 and 2 MediumOpen ↗—
Points on the Straight Line HardOpen ↗—
Fraction HardOpen ↗—
Window String HardOpen ↗—
4 Sum HardOpen ↗—
Two out of Three HardOpen ↗—
Joey doesn't share food HardOpen ↗—

Graphs

0 / 63
DoneProblemLevelPracticeVideo
BFS of graph EasyOpen ↗—
DFS of Graph EasyOpen ↗—
Shortest path from 1 to n EasyOpen ↗—
Print adjacency list EasyOpen ↗—
Maximum Weight Node EasyOpen ↗—
Union-Find EasyOpen ↗—
Eulerian Path in an Undirected Graph EasyOpen ↗—
Find the Town Judge EasyOpen ↗—
Find Center of Star Graph EasyOpen ↗—
Path with good nodes! EasyOpen ↗—
Largest Distance between nodes of a Tree EasyOpen ↗—
Two teams? EasyOpen ↗—
Region in BinaryMatrix EasyOpen ↗—
Level Order EasyOpen ↗—
Black Shapes EasyOpen ↗—
Detect cycle in an undirected graph MediumOpen ↗—
Detect cycle in a directed graph MediumOpen ↗—
Topological sort MediumOpen ↗—
Bipartite Graph MediumOpen ↗—
Implementing Dijkstra Algorithm MediumOpen ↗—
Minimum Spanning Tree(Kruksal and Prims) MediumOpen ↗—
Strongly Connected Components (Kosaraju's Algo) MediumOpen ↗—
Distance from the Source (Bellman-Ford Algorithm) MediumOpen ↗—
Euler circuit and Path MediumOpen ↗—
Rotten Oranges MediumOpen ↗—
Steps by Knight MediumOpen ↗—
Flood fill Algorithm MediumOpen ↗—
Find the number of islands MediumOpen ↗—
Shortest Source to Destination Path MediumOpen ↗—
Unit Area of largest region of 1's MediumOpen ↗—
Negative weight cycle MediumOpen ↗—
Circle of strings MediumOpen ↗—
Number of Provinces MediumOpen ↗—
Knight Walk MediumOpen ↗—
Bridge edge in a graph MediumOpen ↗—
Hamiltonian Path MediumOpen ↗—
Replace O's with X's MediumOpen ↗—
Shortest path in Directed Acyclic Graph MediumOpen ↗—
Word Search MediumOpen ↗—
Course Schedule MediumOpen ↗—
Maximum Bipartite Matching MediumOpen ↗—
Number of Ways to Arrive at Destination MediumOpen ↗—
Water Connection Problem MediumOpen ↗—
Covid Spread MediumOpen ↗—
Euler Circuit in an Undirected Graph MediumOpen ↗—
Maximum Bipartite Matching MediumOpen ↗—
Water Flow MediumOpen ↗—
Possible paths between 2 vertices MediumOpen ↗—
X Total Shapes MediumOpen ↗—
Prerequisite Tasks MediumOpen ↗—
Find whether path exist MediumOpen ↗—
Strongly connected component (Tarjans's Algo) HardOpen ↗—
Alien Dictionary HardOpen ↗—
Minimum Cost Path HardOpen ↗—
Articulation Point - I HardOpen ↗—
Word Ladder I HardOpen ↗—
Largest Sum Cycle HardOpen ↗—
Shortest Path Using Atmost One Curved Edge HardOpen ↗—
Word Ladder II HardOpen ↗—
Assignment Problem HardOpen ↗—
Articulation Point - II HardOpen ↗—
Critical Connections HardOpen ↗—
Find number of closed islands HardOpen ↗—

Dynamic Programming

0 / 123
DoneProblemLevelPracticeVideo
Print first n Fibonacci Numbers EasyOpen ↗—
Count numbers containing 4 EasyOpen ↗—
Nth Fibonacci Number EasyOpen ↗—
Stock buy and sell EasyOpen ↗—
Count number of hops EasyOpen ↗—
Coin ChangeProblem MediumOpen ↗—
Number of Coins MediumOpen ↗—
0-1 Knapsack MediumOpen ↗—
Tushar's Birthday Party MediumOpen ↗—
Matrix Chain Multiplication MediumOpen ↗—
Program for nth Catalan Number MediumOpen ↗—
Kadane's Algorithm MediumOpen ↗—
Longest Common Subsequence MediumOpen ↗—
Longest Increasing Subsequence MediumOpen ↗—
Longest Common Substring MediumOpen ↗—
Longest Repeating Subsequence MediumOpen ↗—
Longest Palindromic Subsequence MediumOpen ↗—
Longest Arithmetic Progression MediumOpen ↗—
Longest Bitonic subsequence MediumOpen ↗—
Longest Common Increasing Subsequence MediumOpen ↗—
Subset Sum Problem MediumOpen ↗—
Count Palindromic Subsequences MediumOpen ↗—
Longest Palindrome in a String MediumOpen ↗—
Egg Dropping Puzzle MediumOpen ↗—
Floyd Warshall MediumOpen ↗—
Word Break MediumOpen ↗—
Palindrome Partitioning II MediumOpen ↗—
Shortest Common Supersequence MediumOpen ↗—
LCS of three strings MediumOpen ↗—
Box Stacking MediumOpen ↗—
Count of Subarrays MediumOpen ↗—
Longest alternating subsequence MediumOpen ↗—
Count Cyclic Paths MediumOpen ↗—
Ways to sum to N MediumOpen ↗—
Maximum Sum Subsequence of length k MediumOpen ↗—
Find length of longest subsequence MediumOpen ↗—
Number of palindromic strings MediumOpen ↗—
Palindromic Strings MediumOpen ↗—
Trapping Rain Water MediumOpen ↗—
Maximum Product Subarray MediumOpen ↗—
nCr MediumOpen ↗—
Maximize The Cut Segments MediumOpen ↗—
Edit Distance MediumOpen ↗—
Partition Equal Subset Sum MediumOpen ↗—
Count ways to reach the n'th stair MediumOpen ↗—
Stickler Thief MediumOpen ↗—
Job Sequencing Problem MediumOpen ↗—
Perfect Sum Problem MediumOpen ↗—
Maximum sum increasing subsequence MediumOpen ↗—
Max length chain MediumOpen ↗—
Maximum path sum in matrix MediumOpen ↗—
Regular Expression Match MediumOpen ↗—
Smallest sequence with given Primes MediumOpen ↗—
Wildcard Pattern Matching MediumOpen ↗—
Tiling With Dominoes MediumOpen ↗—
Paint House! MediumOpen ↗—
Intersecting Chords in a Circle MediumOpen ↗—
N digit numbers with digit sum S MediumOpen ↗—
Kth Manhattan Distance Neighbourhood MediumOpen ↗—
Best Time to Buy and Sell Stock atmost B times MediumOpen ↗—
Best Time to Buy and Sell Stocks III MediumOpen ↗—
Longest valid Parentheses MediumOpen ↗—
Rod Cutting MediumOpen ↗—
Max Rectangle in Binary Matrix MediumOpen ↗—
Maximum Size Square Sub-matrix MediumOpen ↗—
Maximum Path in Triangle MediumOpen ↗—
Min Sum Path in Matrix MediumOpen ↗—
Coin Sum Infinite MediumOpen ↗—
Arrange II MediumOpen ↗—
Interleaved Strings MediumOpen ↗—
Consecutive 1's not allowed MediumOpen ↗—
Unique BST's MediumOpen ↗—
Minimum number of Coins MediumOpen ↗—
Maximum Tip Calculator MediumOpen ↗—
Snake and Ladder Problem MediumOpen ↗—
Special Keyboard MediumOpen ↗—
Minimum cost to fill given weight in a bag MediumOpen ↗—
Count ways to N'th Stair(Order does not matter) MediumOpen ↗—
Distinct occurrences MediumOpen ↗—
Count subsequences of type a^i, b^j, c^k MediumOpen ↗—
Special Matrix MediumOpen ↗—
Number of ways MediumOpen ↗—
Distinct Coloring MediumOpen ↗—
Shortest XY distance in Grid MediumOpen ↗—
Water Overflow MediumOpen ↗—
Count possible ways to construct buildings MediumOpen ↗—
Number of paths in a matrix with k coins MediumOpen ↗—
Buy and Sell a Share at most twice MediumOpen ↗—
Minimum steps to destination MediumOpen ↗—
Player with max score MediumOpen ↗—
Cutting Binary String MediumOpen ↗—
Two water Jug problem MediumOpen ↗—
Min cut Square MediumOpen ↗—
Maximum sum of elements not part of LIS MediumOpen ↗—
Count of AP Subsequences MediumOpen ↗—
Pascal's Triangle MediumOpen ↗—
Pascal's Triangle II MediumOpen ↗—
Best Time to Buy and Sell Stock IV MediumOpen ↗—
House Robber MediumOpen ↗—
House Robber II MediumOpen ↗—
Last Stone Weight II MediumOpen ↗—
Predict the Winner MediumOpen ↗—
Palindromic Partitioning HardOpen ↗—
Minimum sum partition HardOpen ↗—
Smallest window in a string containing all the characters of another string HardOpen ↗—
The Painter's Partition Problem-II HardOpen ↗—
Word Wrap HardOpen ↗—
Partition array to K subsets HardOpen ↗—
Word Break - Part 2 HardOpen ↗—
Maximum Profit HardOpen ↗—
Maximum Number of coins HardOpen ↗—
Minimum Points To Reach Destination HardOpen ↗—
Count occurrences of a given word in a 2-d array HardOpen ↗—
Print all LCS sequences HardOpen ↗—
Find all possible palindromic partitions of a String HardOpen ↗—
Strictly Increasing Array HardOpen ↗—
Brackets in Matrix Chain Multiplication HardOpen ↗—
Longest Zig-Zag Sub Sequence HardOpen ↗—
Longest Increasing Path in a Matrix HardOpen ↗—
Burst Balloons HardOpen ↗—
Russian Doll Envelopes HardOpen ↗—
Number of Ways to Stay in the HardOpen ↗—
Maximum Sum BST in Binary HardOpen ↗—

Segment Tree

0 / 9
DoneProblemLevelPracticeVideo
XOR of a given range EasyOpen ↗—
Maximum prefix sum for a given range EasyOpen ↗—
Range Minimum Query MediumOpen ↗—
Nitika and her queries MediumOpen ↗—
Smallest Subarray GCD MediumOpen ↗—
Element left after performing alternate OR & XOR operation MediumOpen ↗—
Array Partition HardOpen ↗—
Akku and Arrays HardOpen ↗—
Greater or Less HardOpen ↗—

Trie

0 / 14
DoneProblemLevelPracticeVideo
Unique rows in boolean matrix EasyOpen ↗—
Trie | (Insert and Search) MediumOpen ↗—
Word Boggle MediumOpen ↗—
Most frequent word in an array of strings MediumOpen ↗—
Maximum XOR subarray MediumOpen ↗—
CamelCase Pattern Matching MediumOpen ↗—
Trie | (Delete) MediumOpen ↗—
Word Boggle - II MediumOpen ↗—
Prefix match with other strings MediumOpen ↗—
Phone directory HardOpen ↗—
Palindrome Pairs HardOpen ↗—
Shortest Unique prefix for every word HardOpen ↗—
Word Break (Trie) HardOpen ↗—
Find duplicate rows in a binary matrix HardOpen ↗—

Fenwick Tree

0 / 4
DoneProblemLevelPracticeVideo
Range Sum Query - Mutable MediumOpen ↗—
Count Number of Teams MediumOpen ↗—
Minimum Possible Integer After at Most K Adjacent Swaps On Digits HardOpen ↗—
Count Increasing Quadruplets HardOpen ↗—