arrow_back
Live Sessions
Ask Me Anything 28th April 2024
Ask Me Anything 29th June 2024
About Course
How to Join Prime Whatsapp Group
Join Prime Whatsapp Group
Contact Me Personally
Pre-Requisite or Prior Knowledge Required for Course
Course Structure
How to go through the course?
How to Get the Completion Certificate?
Referral Bonus
Code on GitHub
Job Support
What is Job Support ?
How to access Jobs Board?
Jobs Board
How to request for Resume Review?
Resume Review Request
Doubt Support
How to solve doubts?
Contact Mentor Lead
Doubt Escalation?
FAQs
C/C++/JavaScript/Python : Language of Choice
Java Youtube Course
🚀🔥 JAVA Complete Course Part-1 (2024)
🚀🔥 JAVA Complete Course Part-2 (2024)
🚀🔥 Java Complete Course Part-3 (2024)
Algorithm Concepts
1 Arrays
1.1 What is an Array
1.2 Multi-Dimensional array
Notes - ARRAY
2 Time and Space Complexity
2.1 What is time and space complexity
2.2 How to calculate running time
2.3 Remove duplicate from sorted array
2.4 Asymptotic notations and Big O
2.5 Trade off between time and space complexity
Notes - Time and Space Complexity
3 Strings
3.1 What is string java string
3.2 String immutability
3.3 Manipulating characters
3.4 String methods
3.5 Comparing strings
3.6 Concatenation and conversion
3.7 StringBuilder and StringBuffer
Notes - Strings
4 Math
4.1 What is number system
4.2 Binary number system
4.3 Conversion between decimal and binary number
4.4 Octal and hexadecimal number systems
4.5 Hexadecimal conversions
Notes - Number System
5 Sorting
5.1 What is Sorting and Sorting in Java
5.2 Selection Sort
5.3 Bubble sort
5.4 Insertion sort
5.5 Comparison of Quadratic sorts
5.6 Merge Sort
5.7 Quick Sort
5.8 Summary
Notes - Sorting
6 Binary Search
6.1 What is binary search?
6.2 Implementing binary search
Notes - Binary Search
7 Bit Manipulation
7.1 What is bit manipulation
7.2 Logical AND
7.3 Logical NOT
7.4 Logical OR
7.5 Logical XOR
7.6 Shift Operations
Notes - Bit Manipulation
8 Linked List
8.1 What is linked list
8.2 Advantages and Disadvantages of linked list
8.3 Implementing linked list
8.4 Header and Doubly Linked-List
Notes - Linked list
9 Two Pointer
9.1 The Two Pointer Approach
Notes - Two Pointer
10 Recursion
10.1 What is recursion
10.2 Working with factorial
10.3 Working with Fibonacci numbers
10.4 Structure of Recursion
10.5 Common mistakes and Summary
10.6 Factorial - Java Video Solution
Notes - Recursion
11 Tree and Binary Tree
11.1 What is a Tree
11.2 Components of a Tree
11.3 Other nomenclature of Tree
11.4 Binary Tree
11.5 Traversal of Binary Tree
Notes - Tree and Binary Tree
12 Stack
12.1 What is stack
12.2 Implementing stack
12.3 Operations of stack
12.4 Use of stack
Notes - Stack
13 Queue
13.1 What is queue
13.2 Operations of queue
13.3 Implementing queue
13.4 Circular queue and Priority queue
Notes - Queue
14 Hashing and Maps
14.1 What is Hashing and Map
14.2 Popular Hash function
14.3 Characteristics of a good Hash function
14.4 Collision and Collision-Resolution
Notes - Hashing and Map
15 Binary Search Tree
15.1 What is a BST
15.2 Operations in BST
Notes - Binary Search Tree
16 Graph
16.1 What is Graph and its Applications
16.2 Representation of Graph
16.3 Graph Traversal
Notes - Graph
17 DFS and BFS
17.1 What is DFS(Depth First Search)
17.2 What is BFS(Breadth First Search)
Notes - DFS and BFS
18 Greedy Algorithm
18.1 What is Greedy approach
18.2 Travelling salesman approach
18.3 Difference with Dynamic Programming
18.4 Knapsack 2
Notes - Greedy Algorithm
19 Backtracking
19.1 What is Backtracking?
Notes - Backtracking
20 Heaps
20.1 Introduction to Heap
20.2 How to implement Heap
20.3 Types of Heap
20.4 Heap operations
20.5 Heapsort
20.6 Kth Largest Element
Notes - Heaps
21 Dynamic Programming
21.1 What is DP(Dynamic Programming)
21.2 Steps to solve DP problems
21.3 Greedy vs DP
21.4 DP with example
21.5 Approaches of DP
21.6 Rod cutting Problem - Java Video Solution
Notes - Dynamic Programming
22 Sliding Window
22.1 What is sliding window approach
Notes - Sliding Window
LeetCode Easy Problems
LeetCode 1: Two Sum (Array | Hash Table)
LeetCode 1: Two Sum using Array - Java Video Solution
LeetCode 1: Two Sum using HashMap - Java Video Solution
LeetCode 9: Palindrome Number (Math)
LeetCode 9: Palindrome Number - Java Video Solution
LeetCode 13: Roman to Integer (Hash Table | Math | String)
LeetCode 13: Roman to Integer using Array and String - Java Video Solution
LeetCode 13: Roman to Integer using Switch - Java Video Solution
LeetCode 13: Roman to Integer using HashMap - Java Video Solution
LeetCode 14: Longest Common Prefix (String | Trie)
LeetCode 14: Longest Common Prefix - Java Video Solution
LeetCode 20: Valid Parentheses (String | Stack)
LeetCode 20: Valid Parentheses - Java Video Solution
LeetCode 21: Merge Two Sorted Lists (Linked List | Recursion)
LeetCode 21: Merge Two Sorted Lists - Java Video Solution
LeetCode 26: Remove Duplicates from Sorted Array (Array | Two Pointers)
LeetCode 26: Remove Duplicates from Sorted Array - Java Video Solution
LeetCode 27: Remove Element (Array | Two Pointers)
LeetCode 27: Remove Element using Two Pointer - Java Video Solutions
LeetCode 28: Find the Index of the First Occurrence in a String (Two Pointers | String | String Matching))
LeetCode 28: Find the Index of the First Occurrence in a String - Java Video Solution
LeetCode 35: Search Insert Position (Array | Binary Search)
LeetCode 35: Search Insert Position using Array Brute Force - Java Video Solutions
LeetCode 35: Search Insert Position using Binary Search - Java Video Solution
LeetCode 58: Length of Last Word (String)
LeetCode 58: Length of Last Word - Java Video Solution
LeetCode 66: Plus One (Array | Math)
LeetCode 66: Plus One using Carry approach - Java Video Solution
LeetCode 66: Plus One using implicit carry - Java Video Solutions
LeetCode 67: Add Binary (Math | String | Bit Manipulation | Simulation)
LeetCode 67: Add Binary - Java Video Solution
LeetCode 69: Sqrt(x) (Math, Binary Search)
LeetCode 69: Sqrt(x) - Java Video Solution
LeetCode 70: Climbing Stairs (Math | Dynamic Programming | Memoization)
LeetCode 70: Climbing Stairs - Java Video Solution
LeetCode 83: Remove Duplicates from Sorted List (Linked List)
Leetcode 83 Remove Duplicates from Sorted List - Java Video Solution
LeetCode 88: Merge Sorted Array (Array | Two Pointers | Sorting)
LeetCode 88: Merge Sorted Array using Array and Sorting - Java Video Solution
LeetCode 88: Merge Sorted Array using Two Pointer - Java Video Solution
LeetCode 94: Binary Tree Inorder Traversal (Stack | Tree | DFS | Binary Tree)
LeetCode 94 Binary Tree Inorder Traversal using Iteration
LeetCode 94 Binary Tree Inorder Traversal using Recursion
LeetCode 112: Path Sum Problem (Tree | DFS | BFS | Binary Tree)
LeetCode 112: Path Sum Problem - Java Video Solution
LeetCode 118: Pascal's Triangle (Array | Dynamic Programming)
LeetCode 118: Pascal's Triangle using List - Java Video Solution
LeetCode 118: Pascal's Triangle using Recursion - Java Video Solution
LeetCode 118: Pascal's Triangle using Dynamic Programming - Java Video Solution
LeetCode 121: Best time to buy and sell stock (Array | Dynamic Programming)
LeetCode 121: Best time to buy and sell stock using Array Brute Force - Java Video Solution
LeetCode 121: Best time to buy and sell stock using Single Pass Approach - Java Video Solution
LeetCode 121: Best time to buy and sell stock using Greedy - Java Video Solution
LeetCode 125: Valid Palindrome (Two Pointers, String)
LeetCode 125: Valid Palindrome - Java Video Solution
LeetCode 136: Single Number (Array | Bit Manipulation)
LeetCode 136: Single Number - Java Video Solution
LeetCode 141: Linked List Cycle (Hash Table | Linked List | Two Pointers)
Leetcode 141 Linked List Cycle - Java Video Solution
LeetCode 144: Binary Tree Preorder Traversal (Stack | Tree | DFS | Binary Tree)
Leetcode 144 Binary Tree Preorder Traversal using Iteration - Java Video Solution
Leetcode 144 Binary Tree Preorder Traversal using Recursion - Java Video Solution
LeetCode 145: Binary Tree Postorder Traversal (Stack | Tree | DFS | Binary Tree)
Leetcode 145 Binary Tree Postorder Traversal using Iteration - Java Video Solution
Leetcode 145 Binary Tree Postorder Traversal using Recursion - Java Video Solution
LeetCode 160: Intersection of Two Linked Lists (Hash Table | Linked List | Two Pointers)
LeetCode 160 Intersection of Two Linked Lists - Java Video Solution
LeetCode 168: Excel Sheet Column Title (Math | String)
LeetCode 168: Excel Sheet Column Title - Java Video Solution
LeetCode 169: Majority Element (Array | Hash Table | Divide and Conquer | Sorting | Counting)
LeetCode 169: Majority Element using Array - Java Video Solution
LeetCode 169: Majority Element using Sorting - Java Video Solution
LeetCode 169: Majority Element using Hash Map - Java Video Solution
LeetCode 169: Majority Element using Bit Manipulation - Java Video Solution
LeetCode 171: Excel Sheet Column Number (Math | String)
LeetCode 171: Excel Sheet Column Number using Math - Java Video Solution
LeetCode 171: Excel Sheet Column Number using String - Java Video Solution
LeetCode 190: Reverse Bits (Divide and Conquer | Bit Manipulation)
Leetcode 190 Reverse Bits - Java Video Solution
LeetCode 191: Number of 1 Bits (Divide and Conquer | Bit Manipulation)
Leetcode 191 Number of 1 Bits - Java Video Solution
LeetCode 202: Happy Number (Hash Table | Math | Two Pointers)
Leetcode 202 Happy Number - Java Video Solution
LeetCode 203: Remove Linked List Elements (Linked List | Recursion)
Leetcode 203 Remove Linked List Elements - Java Video Solution
LeetCode 205: Isomorphic Strings (Hash Table | String)
LeetCode 205: Isomorphic Strings - Java Video Solution
LeetCode 206: Reverse Linked List (Linked List, Recursion)
Leetcode 206 Reverse Linked List - Java Video Solution
LeetCode 217 : Contains Duplicate (Array | Hash Table | Sorting)
LeetCode 217 : Contains Duplicate using Array - Java Video Solution
LeetCode 217 : Contains Duplicate using Sorting - Java Video Solution
LeetCode 217 : Contains Duplicate using HashMap - Java Video Solution
LeetCode 219: Contains Duplicate II (Array | HashTable | Sliding Window)
LeetCode 219: Contains Duplicate II - Java Video Solution
LeetCode 222: Count Complete Tree Nodes (Binary Search | Bit Manipulation | Tree | Binary Tree)
Leetcode 222 Count Complete Tree Nodes - Java Video Solution
LeetCode 225: Implement Stack using Queues (Stack | Design | Queue)
LeetCode 226: Invert Binary Tree Problem (Tree | DFS | BFS | Binary Tree)
LeetCode 226: Invert Binary Tree Problem - Java Video Solution
LeetCode 231: Power of Two (Math | Bit Manipulation | Recursion)
LeetCode 231: Power of Two using Math.pow - Java Video Solution
LeetCode 231: Power of Two using Log - Java Video Solution
LeetCode 232: Implement Queue using Stacks (Stack | Design | Queue)
LeetCode 234: Palindrome Linked List (Linked List | Two Pointers | Stack | Recursion)
LeetCode 234: Palindrome Linked List - Java Video Solution
LeetCode 242: Valid Anagram (Hash Table | String | Sorting)
LeetCode 242: Valid Anagram - Java Video Solution
LeetCode 258: Add Digits (Math | Simulation | Number Theory)
LeetCode 263: Ugly Number (Math)
LeetCode 268: Missing Number (Array | Hash Table | Math | Binary Search | Bit Manipulation | Sorting)
LeetCode 268: Missing Number - Java Video Solution
LeetCode 278: First Bad Version (Binary Search | Interactive)
LeetCode 278: First Bad Version - Java Video Solution
LeetCode 283: Move Zeroes (Array | Two Pointers)
LeetCode 283: Move Zeroes - Java Video Solution
LeetCode 290: Word Pattern (Hash Table | String)
LeetCode 290: Word Pattern - Java Video Solution
LeetCode 292: Nim Game (Math | Brainteaser | Game Theory)
LeetCode 326: Power of Three (Math | Recursion)
LeetCode 338: Counting Bits (Dynamic Programming | Bit Manipulation)
LeetCode 342: Power of Four (Math | Bit Manipulation | Recursion)
LeetCode 344: Reverse String (Two Pointers | String)
LeetCode 344: Reverse String - Java Video Solution
LeetCode 345: Reverse Vowels of a String (Two Pointers | String)
LeetCode 345: Reverse Vowels of a String - Java Video Solution
LeetCode 349: Intersection of Two Arrays (Array | Hash Table | Two Pointers | Binary Search | Sorting)
LeetCode 349: Intersection of Two Arrays - Java Video Solution
LeetCode 350: Intersection of Two Arrays II (Array | Hash Table | Two Pointers | Binary Search | Sorting)
LeetCode 350: Intersection of Two Arrays II - Java Video Solution
LeetCode 367: Valid Perfect Square (Math | Binary Search)
LeetCode 374: Guess Number Higher or Lower (Binary Search | Interactive)
LeetCode 374: Guess Number Higher or Lower - Java Video Solution
LeetCode 383: Ransom Note (Hash Table | String | Counting)
LeetCode 383: Ransom Note - Java Video Solution
LeetCode 387: First Unique Character in a String (Hash Table | String | Queue | Counting)
LeetCode 387: First Unique Character in a String - Java Video Solution
LeetCode 389: Find the Difference (Hash Table | String | Bit Manipulation | Sorting)
LeetCode 389: Find the Difference - Java Video Solution
LeetCode 401: Binary Watch (Backtracking | Bit Manipulation)
LeetCode 405: Convert a Number to Hexadecimal (Math | Bit Manipulation)
LeetCode 405: Convert a Number to Hexadecimal using Math - Java Video Solution
LeetCode 405: Convert a Number to Hexadecimal using Bit Manipulation - Java Video Solution
LeetCode 414: Third Maximum Number (Array | Sorting)
LeetCode 415: Add Strings (Math | String | Simulation)
LeetCode 415: Add Strings - Java Video Solution
LeetCode 441: Arranging Coins (Math | Binary Search)
LeetCode 441: Arranging Coins - Java Video Solution
LeetCode 461: Hamming Distance (Bit Manipulation)
LeetCode 476: Number Complement (Bit Manipulation)
LeetCode 496: Next Greater Element I (Array | Hash Table | Stack)
LeetCode 509: Fibonacci Number (Math | Dynamic Programming | Recursion)
LeetCode 509: Fibonacci Number - Java Video solution
LeetCode 589: N-ary Tree Preorder Traversal (Stack | Tree | DFS)
LeetCode 590: N-ary Tree Postorder Traversal (Stack | Tree | DFS)
LeetCode 682: Baseball Game (Array | Stack | Simulation)
LeetCode 700: Search in Binary Search Tree (Tree | BST | Binary Tree)
LeetCode 700: Search in Binary Search Tree - Java Video Solution
LeetCode 705: Design HashSet (Array | Hash Table | Linked List | Design | Hash Function)
LeetCode 706: Design HashMap (Array | Hash Table | Linked List | Design | Hash Function)
LeetCode 744: Find Smallest Letter Greater Than Target (Array | Binary Search)
LeetCode 876: Middle of the Linked List (Linked List | Two Pointers)
LeetCode 888: Fair Candy Swap (Array | Hash Table | Binary Search | Sorting)
LeetCode 892: Surface Area of 3D Shapes (Array | Math | Geometry | Matrix)
LeetCode 892: Surface Area of 3D Shapes - Java Video Solutions
LeetCode 933: Number of Recent Calls (Design | Queue | Data Stream)
LeetCode 933: Number of Recent Calls - Java Video Solution
LeetCode 977: Squares of a Sorted Array (Array | Two Pointers | Sorting)
LeetCode 977: Squares of a Sorted Array - Java Video Solution
LeetCode 997: Find the Town Judge Problem (Array | Hash Table | Graph)
LeetCode 997: Find the Town Judge Problem - Java Video Solution
LeetCode 1337: The K Weakest Rows in a Matrix (Array | Binary Search | Sorting | Heap | Matrix)
LeetCode 1346: Check If N and Its Double Exist (Array | Hash Table | Two Pointers | Binary Search | Sorting)
LeetCode 2148: Count Elements With Strictly Smaller and Greater Elements (Array | Sorting)
LeetCode 2148: Count Elements With Strictly Smaller and Greater Elements - Java Video Solution
LeetCode 2648: Generate Fibonacci Sequence
LeetCode Medium Problems
LeetCode 2: Add Two Numbers (Linked List | Math | Recursion)
LeetCode 3: Longest Substring Without Repeating Characters (Hash Table | String | Sliding Window)
LeetCode 5: Longest Palindromic Substring (Two Pointers | String | Dynamic Programming)
LeetCode 6: Zigzag Conversion (String)
LeetCode 7: Reverse Integer (Math)
LeetCode 11: Container With Most Water (Array | Two Pointers | Greedy)
LeetCode 11: Container With Most Water - Java Video solution
LeetCode 12: Integer to Roman (Hash Table | Math | String)
LeetCode 15: 3Sum (Array | Two Pointers | Sorting)
LeetCode 15: 3Sum - Java Video Solution
LeetCode 16: 3Sum Closest (Array | Two Pointers | Sorting)
LeetCode 17: Letter Combinations of a Phone Number (Hash Table | String | Backtracking)
LeetCode 18. 4Sum (Array | Two Pointers | Sorting)
LeetCode 19: Remove Nth Node From End of List (Linked List | Two Pointers)
LeetCode 22: Generate Parentheses (String | Dynamic Programming | Backtracking)
LeetCode 22: Generate Parentheses using Strings - Java Video Solution
LeetCode 22: Generate Parentheses using Backtracking- Java Video Solution
LeetCode 24: Swap Nodes in Pairs (Linked List | Recursion)
LeetCode 29: Divide Two Integers (Math | Bit Manipulation)
LeetCode 31. Next Permutation (Array | Two Pointers)
LeetCode 33: Search in Rotated Sorted Array (Array | Binary Search)
LeetCode 33: Search in Rotated Sorted Array - Java Video Solution
LeetCode 34: Find First and Last Position of Element in Sorted Array (Array | Binary Search)
LeetCode 36: Valid Sudoku (Array | Hash Table | Matrix)
LeetCode 36: Valid Sudoku - Java Video Solution
LeetCode 38: Count and Say (String)
LeetCode 43: Multiply Strings (Math | String | Simulation)
LeetCode 48: Rotate Image (Array | Math | Matrix)
LeetCode 49: Group Anagrams (Array | Hash Table | String | Sorting)
LeetCode 50: Pow(x, n) (Math | Recursion)
LeetCode 53: Maximum Subarray (Array | Divide and Conquer | Dynamic Programming)
LeetCode 53: Maximum Subarray - Java Video Solution
LeetCode 56: Merge Intervals (Array | Sorting)
LeetCode 71: Simplify Path (String | Stack)
LeetCode 72: Edit Distance (String | Dynamic Programming)
LeetCode 74: Search a 2D Matrix (Array | Binary Search | Matrix)
LeetCode 74: Search a 2D Matrix - Java Video Solution
LeetCode 75: Sort Colors (Array | Two Pointers | Sorting)
LeetCode 78: Subsets (Array | Backtracking | Bit Manipulation | Dynamic Programming)
LeetCode 78: Subsets - Java Video Solution using Backgracking
LeetCode 78: Subsets - Java Video Solution using Dynamic Programming
LeetCode 80: Remove Duplicates from Sorted Array II (Array | Two Pointers)
LeetCode 82. Remove Duplicates from Sorted List II (Linked List | Two Pointers)
LeetCode 86: Partition List (Linked List | Two Pointers)
LeetCode 89: Gray Code (Math | Backtracking | Bit Manipulation)
LeetCode 90: Subsets II (Array | Backtracking | Bit Manipulation)
LeetCode 92: Reverse Linked List II (Linked List)
LeetCode 114: Flatten Binary Tree to Linked List (Linked List | Stack | Tree | DFS | Binary Tree)
LeetCode 122: Best Time to Buy and Sell Stock II (Array | Dynamic Programming | Greedy)
LeetCode 137: Single Number II (Array | Bit Manipulation)
LeetCode 142. Linked List Cycle II (Hash Table | Linked List | Two Pointers)
LeetCode 143: Reorder List (Linked List | Two Pointers | Stack | Recursion)
LeetCode 147: Insertion Sort List (Linked List | Sorting)
LeetCode 148: Sort List (Linked List | Two Pointers | Divide and Conquer | Sorting | Merge Sort)
LeetCode 150: Evaluate Reverse Polish Notation (Array | Math | Stack)
LeetCode 153: Find Minimum in Rotated Sorted Array (Array | Binary Search)
LeetCode 155: Min Stack (Stack | Design)
LeetCode 162: Find Peak Element (Array | Binary Search)
LeetCode 164: Maximum Gap (Array | Sorting | Bucket Sort | Radix Sort)
LeetCode 167: Two Sum II - Input Array Is Sorted (Array | Two Pointers | Binary Search)
LeetCode 173: Binary Search Tree Iterator (Stack | Tree | Design | BST | Binary Tree)
LeetCode 187: Repeated DNA Sequences (Hash Table | String | Bit Manipulation | Sliding Window | Rolling Hash | Hash Function)
LeetCode 189: Rotate Array (Array | Math | Two Pointers)
LeetCode 189: Rotate Array - Java Video Solution
LeetCode 204: Count Primes (Array | Math | Enumeration | Number Theory)
LeetCode 204: Count Primes - Java Video Solution
LeetCode 209: Minimum Size Subarray Sum (Array | Binary Search | Sliding Window | Prefix Sum)
LeetCode 215: Kth Largest Element in an Array (Array | Divide and Conquer | Sorting | Heap)
LeetCode 215: Kth Largest Element in an Array - Java Video Solution
LeetCode 227: Basic Calculator II (Math | String | Stack)
LeetCode 237: Delete Node in a Linked List (Linked List)
LeetCode 241: Different Ways to Add Parentheses (Math | String | Dynamic Programming | Recursion)
LeetCode 260: Single Number III (Array | Bit Manipulation)
LeetCode 287: Find the Duplicate Number (Array | Two Pointers | Binary Search | Bit Manipulation)
LeetCode 316: Remove Duplicate Letters (String | Stack | Greedy)
LeetCode 318: Maximum Product of Word Lengths (Array | String | Bit Manipulation)
LeetCode 328: Odd Even Linked List (Linked List)
LeetCode 331: Verify Preorder Serialization of a Binary Tree (String | Stack | Tree | Binary Tree)
LeetCode 341: Flatten Nested List Iterator (Stack | Tree | DFS | Design | Queue)
LeetCode 355: Design Twitter (Hash Table | Linked List | Design | Heap)
LeetCode 388: Longest Absolute File Path (String | Stack | DFS)
LeetCode 390: Elimination Game (Math | Recursion)
LeetCode 394: Decode String (String | Stack | Recursion)
LeetCode 486: Predict the Winner (Array | Math | Dynamic Programming | Recursion | Game Theory)
LeetCode 540: Single Element in a Sorted Array (Array | Binary Search)
LeetCode 540: Single Element in a Sorted Array - Java Video Solution
LeetCode 1823: Find the Winner of the Circular Game (Array | Math | Recursion | Queue | Simulation)
LeetCode Hard Problems
LeetCode 4: Median of Two Sorted Arrays (Array | Binary Search | Divide and Conquer)
LeetCode 10: Regular Expression Matching (String | Dynamic Programming | Recursion)
LeetCode 23: Merge k Sorted Lists (Linked List | Divide and Conquer | Heap)
LeetCode 25: Reverse Nodes in k-Group (Linked List | Recursion)
LeetCode 32: Longest Valid Parentheses (String | Dynamic Programming | Stack)
LeetCode 42: Trapping Rain Water (Array | Two Pointers | Dynamic Programming | Stack)
LeetCode 51: N-Queens (Array | Backtracking)
LeetCode 51: N-Queens - Java Video Solution
LeetCode 60: Permutation Sequence (Math | Recursion)
LeetCode 84: Largest Rectangle in Histogram (Array | Stack)
LeetCode 85: Maximal Rectangle (Array | Dynamic Programming | Stack)
LeetCode 123: Best Time to Buy and Sell Stock III (Array | Dynamic Programming)
LeetCode 149: Max Points on a Line (Array | Hash Table | Math | Geometry)
LeetCode 154: Find Minimum in Rotated Sorted Array II (Array | Binary Search)
LeetCode 220: Contains Duplicate III (Array | Sliding Window | Sorting | Bucket Sort | Ordered Set)
LeetCode 224: Basic Calculator (Math | String | Stack | Recursion)
LeetCode 233: Number of Digit One (Math, Dynamic Programming, Recursion)
LeetCode 295: Find Median from Data Stream (Two Pointers | Design | Sorting | Heap | Data Stream)
LeetCode 315: Count of Smaller Numbers After Self (Array | Binary Search | Divide and Conquer | Binary Indexed Tree | Segment Tree | Merge Sort | Ordered Set)
LeetCode 327: Count of Range Sum (Array | Binary Search | Divide and Conquer | Binary Indexed Tree | Segment Tree | Merge Sort | Ordered Set)
LeetCode 352: Data Stream as Disjoint Intervals (Binary Search | Design | Ordered Set)
LeetCode 354: Russian Doll Envelopes (Array | Binary Search | Dynamic Programming | Sorting)
LeetCode 691: Stickers to Spell Word (Array | String | Dynamic Programming | Backtracking | Bit Manipulation)
LeetCode 719: Find K-th Smallest Pair Distance (Array | Two Pointers | Binary Search | Sorting)
LeetCode 726: Number of Atoms (Hash Table | String | Stack | Sorting)
LeetCode 761: Special Binary String (String | Recursion)
LeetCode 770: Basic Calculator IV (Hash Table | Math | String | Stack | Recursion)
LeetCode 782: Transform to Chessboard (Array | Math | Bit Manipulation | Matrix)
LeetCode 810: Chalkboard XOR Game (Array | Math | Bit Manipulation | Game Theory)
LeetCode 1028: Recover a Tree From Preorder Traversal (String | Tree | DFS | Binary Tree)
LeetCode 1096: Brace Expansion II (String | Backtracking | Stack | BFS)
LeetCode 1206: Design Skiplist (Linked List | Design)
LeetCode 1255: Maximum Score Words Formed by Letters (Array | String | Dynamic Programming | Backtracking | Bit Manipulation)
LeetCode 1312: Minimum Insertion Steps to Make a String Palindrome (String | Dynamic Programming)
LeetCode 2193: Minimum Number of Moves to Make Palindrome (Two Pointers | String | Greedy | Binary Indexed Tree)
LeetCode 1537: Get the Maximum Score (Array | Two Pointers | Dynamic Programming | Greedy)
Other Problems
1 Mini Mahjong winning hand 2 - Java Video Solution
2 Solitare - Java Video Solution
Preview - Data Structures & Algorithms using Java
Discuss (
0
)
navigate_before
Previous
Next
navigate_next