Problem Name | Link | Approach | Code |
---|---|---|---|
3 Sum Closest | LeetCode | Youtube | Java C++ |
Time Based Key Value Store | LeetCode | Youtube Medium |
Java Python |
Longest Common Substring | GFG | Youtube | Java |
House Robber II | LeetCode | Youtube | Java |
Design Hashmap | LeetCode | Youtube | C++ |
Minimum Swaps To Make Sequences Increasing | LeetCode | Youtube | Java C++ |
Find Kth Bit in Nth Binary String | LeetCode | Youtube | Java |
Set Matrix Zeros | LeetCode | Youtube | Java |
Generate Parentheses | LeetCode | YouTube | C++ Java |
Generate Subsets | LeetCode | YouTube | C++ |
Generate Subsets using Bit-Masking | LeetCode | YouTube | C++ |
Serialize and Deserialize BST | Leetcode | YouTube | C++ |
Construct Binary Search Tree from Preorder Traversal | LeetCode | YouTube | C++ |
First Unique Character in a String | LeetCode | YouTube | Java |
Trapping Rain Water | LeetCode | YouTube | C++ |
Interleaving Strings | LeetCode | YouTube | Python |
Group Anagrams | LeetCode | YouTube | Java |
Binary Tree Right Side View | LeetCode | YouTube | C++ |
Kadane's Algorithm | GFG | YouTube | Python |
Implementing Dijkstra Algorithm | GFG | YouTube | Python |
Container With Most Water | LeetCode | YouTube | Java |
Zigzag Conversion | LeetCode | YouTube | Java |
Integer to Roman | LeetCode | YouTube | Java |
Palindromic Partitioning | GFG | YouTube | Python |
Alien Dictionary | GFG | YouTube | Python |
String To Integer | GFG | YouTube | Java |
Maximum Length of a Concatenated String with Unique Characters | LeetCode | YouTube | Java |
Sum of k smallest elements in BST | GFG | YouTube | Python |
Regular Expression Matching | LeetCode | YouTube | Java |
Longest Valid Parentheses | LeetCode | YouTube | Java |
Rotate Image | LeetCode | YouTube | Java |
Substring with concatenation of all words | LeetCode | YouTube | Java |
Largest rectangular sub-matrix having sum divisible by k | GFG | YouTube | Python |
Sum of Subarray Minimums | LeetCode | Youtube | C++ |
Trapping Rain Water | LeetCode | Youtube | C++ |
Next Greater Element III | LeetCode | Youtube | C++ |
Largest rectangular sub-matrix having sum divisible by k | GFG | YouTube | Python |
Word Break | LeetCode | Youtube | C++ |
Combination Sum III | LeetCode | Youtube | C++ |
Remove Nth Node From End of List | LeetCode | Youtube | C++ |
Next Permutation | LeetCode | Youtube | C++ |
Spiral Matrix | LeetCode | Youtube | C++ |
Sort Colors | LeetCode | Youtube | C++ |
Odd Even Linked List | LeetCode | Youtube | C++ |
Add Two Numbers II | LeetCode | Youtube | C++ |
Search in Rotated Sorted Array | LeetCode | Youtube | C++ |
Linked List Cycle II | LeetCode | Youtube | [C++](./codes/cpp/LinkedListCycle2.cpp |
Copy List with Random Pointer | LeetCode | Youtube | C++ |
Remove Nth Node From End of List | LeetCode | Youtube | C++ |
Wiggle Subsequence | LeetCode | Youtube | Python |
Design Linked List | LeetCode | Youtube | Python |
Flatten Binary Tree to Linked List | LeetCode | Youtube | Python |
Longest Palindromic Subsequence | LeetCode | Youtube | C++ |
Shortest Common Supersequence | LeetCode | Youtube | C++ |
Partition Equal Subset Sum | LeetCode | Youtube | C++ |
Target Sum | LeetCode | Youtube | C++ |
- C++ STL (Most Useful for Competitive Programming)
- Arrays
- Searching and Sorting
- Hashing
- Strings
- Recursion and Backtracking
- Bit Manipulation
- Linked List
- Stack and Queues
- Dynamic Programming
- Data Structures and Algorithms
- Algorithms-Robert Sedgewick
- Introduction to Algorithms-Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein
- Data Structures and Algorithm made easy-Narasimha Karumanchi
- Data Structures and Algorithms in Java-Robert Lafore
- Advanced Data Structures-Peter Brass
- Grokking Algorithms-Aditya Y. Bhargava
- Problem Solving with Algorithms and Data Structures-Brad Miller,David Ranum