Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

💻 Detailed Explanations for LeetCode Solutions in Java. Updated Daily.

License

NotificationsYou must be signed in to change notification settings

cheehwatang/leetcode-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


    

Hi 👋, I'mChee Hwa and welcome to LeetCode Solutions in Java.


As I'm new toLeetCode and programming in general, I'm practicing everyday and hope to share my solutions and learnings with you.

  • Exclusively on Java
  • Beginner problems
  • Daily Challenge if within my ability


Latest Solutions


DateProblemDifficultySolutionTopics
September 14th1775.Equal Sum Arrays With Minimum Number of Operations$\text{\color{Dandelion}Medium}$CountingArray,Counting,Greedy
September 13th1814.Count Nice Pairs in an Array$\text{\color{Dandelion}Medium}$Counting & Hash TableArray,Counting,Hash Table,Math
September 12th2006.Count Number of Pairs With Absolute Difference K$\text{\color{TealBlue}Easy}$Hash TableArray,Hash Table
September 11th2006.Count Number of Pairs With Absolute Difference K$\text{\color{TealBlue}Easy}$CountingArray,Counting
September 10th2006.Count Number of Pairs With Absolute Difference K$\text{\color{TealBlue}Easy}$Brute ForceArray


Topics

The problem sets and solutions are grouped into Topics as stated in LeetCode.


Array

#ProblemSolutionDifficultyTopicsNote
1Two SumJava$\text{\color{TealBlue}Easy}$Array,Hash Table
153SumJava$\text{\color{Dandelion}Medium}$Array,Sorting,Two Pointers
163Sum ClosestJava$\text{\color{Dandelion}Medium}$Array,Sorting,Two Pointers
26Remove Duplicates from Sorted ArrayJava$\text{\color{TealBlue}Easy}$Array,Two Pointers
27Remove ElementJava$\text{\color{TealBlue}Easy}$Array,Two Pointers
36Valid SudokuJavawithout orwith Hash Table$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix
37Sudoku SolverJava$\text{\color{Red}Hard}$Array,Backtracking,Matrix
45Jump Game IIDynamic Programming (Memoization),Dynamic Programming (Tabulation) orGreedy$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Greedy
46PermutationsJava withBacktracking,Iteration orRecursion$\text{\color{Dandelion}Medium}$Array,Backtracking
49Group AnagramsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,String
55Jump GameJava withDynamic Programming orGreedy$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Greedy
57Insert IntervalJava$\text{\color{Dandelion}Medium}$Array
73Set Matrix ZeroesJava withArray,Hash Table orIn-Place$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix
79Word SearchJava$\text{\color{Dandelion}Medium}$Array,Backtracking,Matrix
80Remove Duplicates from Sorted Array IIJava$\text{\color{Dandelion}Medium}$Array,Two Pointers
88Merge Sorted ArrayJava withSorting orTwo Pointers$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
121Best Time to Buy and Sell StockJavawith orwithout Dynamic Programming$\text{\color{TealBlue}Easy}$Array,Dynamic Programming
130Surrounded RegionsJava withBreadth-First Search,Depth-First Search orUnion Find$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union Find
134Gas StationJava$\text{\color{Dandelion}Medium}$Array,Greedy
136Single NumberJava$\text{\color{TealBlue}Easy}$Array,Bit ManipulationStream Reduce
152Maximum Product SubarrayJava withArray orDynamic Programming$\text{\color{Dandelion}Medium}$Array,Dynamic Programming
167Two Sum II - Input Array is SortedJava withBinary Search orTwo Pointers$\text{\color{Dandelion}Medium}$Array,Binary Search,Two Pointers
169Majority ElementJava withBoyer-Moore Majority Voting Algorithm,Counting & Divide and Conquer,Counting & Hash Table orSorting$\text{\color{TealBlue}Easy}$Array,Counting,Divide and Conquer,Hash Table,Sorting
200Number of IslandsJava withBreadth-First Search,Depth-First Search orUnion Find$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union Find
217Contains DuplicateJava withHash Map,Hash Set orSorting$\text{\color{TealBlue}Easy}$Array,Hash Table,Sorting
219Contains Duplicate IIJava withHash Map orSliding Window$\text{\color{TealBlue}Easy}$Array,Hash Table,Sliding Window
220Contains Duplicate IIIJava withSliding Window & Bucket Sort,Sliding Window & Ordered Set orSorting$\text{\color{Red}Hard}$Array,Bucket Sort,Ordered Set,Sliding Window,Sorting
228Summary RangesJava$\text{\color{TealBlue}Easy}$Array
229Majority Element IIJava withBoyer-Moore Majority Voting Algorithm,Counting & Hash Table orSorting$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Sorting
238Product of Array Except SelfJava$\text{\color{Dandelion}Medium}$Array,Prefix Sum
274H-IndexJava withCounting Sort andSorting$\text{\color{TealBlue}Easy}$Array,Counting Sort,Sorting
275H-Index IIJava$\text{\color{Dandelion}Medium}$Array,Binary Search
283Move ZeroesJava$\text{\color{TealBlue}Easy}$Array,Two Pointers
334Increasing Triplet SubsequenceJava$\text{\color{Dandelion}Medium}$Array,Greedy
368Largest Divisible SubsetJava$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Math,Sorting
393UTF-8 ValidationJavawithout orwith Bit Manipulation$\text{\color{Dandelion}Medium}$Array,Bit Manipulation
414Third Maximum NumberJavawith Sorting,without Sorting or withHash Table & Priority Queue$\text{\color{TealBlue}Easy}$Array,Sorting
448Find All Numbers Disappeared in an ArrayJavawith orwithout Hash Table$\text{\color{TealBlue}Easy}$Array,Hash Table
485Maximum Consecutive OnesJava$\text{\color{TealBlue}Easy}$Array
496Next Greater Element IJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Monotonic Stack,Stack
503Next Greater Element IIJava$\text{\color{Dandelion}Medium}$Array,Monotonic Stack,Stack
523Continuous Subarray SumJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Math,Prefix Sum
560Subarray Sum Equals KJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Prefix Sum
561Array PartitionJava withGreedy & Counting Sort orGreedy & Sorting$\text{\color{TealBlue}Easy}$Array,Counting Sort,Greedy,Sorting
609Find Duplicate File in SystemJava$\text{\color{Dandelion}Medium}$Array,Hash Table,String
645Set MismatchJava withBit Manipulation,Hash Table orSorting$\text{\color{TealBlue}Easy}$Array,Bit Manipulation,Hash Table,Sorting
713Subarray Product Less Than KJava$\text{\color{Dandelion}Medium}$Array,Sliding Window
744Find Smallest Letter Greater Than TargetJava withLinear Search orBinary Search$\text{\color{TealBlue}Easy}$Array,Binary Search
746Min Cost Climbing StairsJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Array,Dynamic Programming
766Toeplitz MatrixJava$\text{\color{TealBlue}Easy}$Array,MatrixFollow up:One Row at a Time andOne Column at a Time
812Largest Triangle AreaJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
835Image OverlapJava withBit Manipulation orHash Table$\text{\color{Dandelion}Medium}$Array,Matrix
904Fruit Into BasketsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sliding Window
905Sort Array By ParityJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
922Sort Array By Parity IIJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
9233Sum With MultiplicityJava withCountingHash Table orSorting & Two Pointers$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Sorting,Two Pointers
929Unique Email AddressesJava$\text{\color{TealBlue}Easy}$Array,Hash Table,String
941Valid Mountain ArrayJava$\text{\color{TealBlue}Easy}$Array
944Delete Columns to Make SortedJava$\text{\color{TealBlue}Easy}$Array,String
948Bag of TokensJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting,Two Pointers
953Verifying an Alien DictionaryJava$\text{\color{TealBlue}Easy}$Array,Hash Table,String
974Subarray Sums Divisible by KJava withCounting orHash Table$\text{\color{Dandelion}Medium}$Array,Hash Table,Prefix Sum
976Largest Perimeter TriangleJava$\text{\color{TealBlue}Easy}$Array,Greedy,Math,Sorting
977Squares of a Sorted ArrayJava withSorting orTwo Pointers$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
985Sum of Even Numbers After QueriesJava$\text{\color{Dandelion}Medium}$Array,Simulation
989Add to Array-Form of IntegerJava$\text{\color{TealBlue}Easy}$Array,Math
1019Next Greater Node In Linked ListJava$\text{\color{Dandelion}Medium}$Array,Linked List,Monotonic Stack,Stack
1037Valid BoomerangJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
1051Height CheckerJava withCounting Sort orSorting$\text{\color{TealBlue}Easy}$Array,Counting Sort,Sorting
1089Duplicate ZerosJavawithout orwith Two Pointers$\text{\color{TealBlue}Easy}$Array,Two Pointers
1122Relative Sort ArrayJava withCounting Sort orHash Table$\text{\color{TealBlue}Easy}$Array,Counting Sort,Hash Table,Sorting
1207Unique Number of OccurrencesJava withCounting & Sorting orHash Table$\text{\color{TealBlue}Easy}$Array,Hash Table
1232Check If It Is a Straight LineJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
1239Maximum Length of a Concatenated String with Unique CharactersJava withBacktracking orBit Manipulation$\text{\color{Dandelion}Medium}$Array,Backtracking,Bit Manipulation,String
1295Find Numbers with Even Number of DigitsJava$\text{\color{TealBlue}Easy}$Array
1299Replace Elements with Greatest Element on Right SideJava$\text{\color{TealBlue}Easy}$Array
1337The K Weakest Rows in a MatrixJava withLinear Search,Binary Search,Heap (Priority Queue) & Binary Search orSorting & Binary Search$\text{\color{TealBlue}Easy}$Array,Binary Search,Heap (Priority Queue),Matrix,Sorting
1346Check If N and Its Double ExistJava withBinary Search & Sorting,Hash Table orTwo Pointers$\text{\color{TealBlue}Easy}$Array,Binary Search,Hash Table,Sorting,Two Pointers
1351Count Negative Numbers in a Sorted MatrixJava withLinear Search orBinary Search$\text{\color{TealBlue}Easy}$Array,Binary Search,Matrix
1470Shuffle the ArrayJava$\text{\color{TealBlue}Easy}$Array
1480Running Sum of 1D ArrayJava$\text{\color{TealBlue}Easy}$Array,Prefix Sum
1497Check If Array Pairs Are Divisible by kJava withCounting orHash Table$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table
1534Count Good TripletsJava$\text{\color{TealBlue}Easy}$Array,Enumeration
1578Minimum Time to Make Rope ColorfulJava withDynamic Programming orGreedy$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Greedy,String
1636Sort Array by Increasing FrequencyJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Sorting
1662Check If Two String Arrays are EquivalentJavawith orwithout Pointers$\text{\color{TealBlue}Easy}$Array,String
1672Richest Customer WealthJava$\text{\color{TealBlue}Easy}$Array,Matrix
1679Max Number of K-Sum PairsJava withHash Table orSorting & Two Pointers$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,Two Pointers
1711Count Good MealsJava$\text{\color{Dandelion}Medium}$Array,Hash Table
1732Find the Highest AltitudeJava$\text{\color{TealBlue}Easy}$Array,Prefix Sum
1775Equal Sum Arrays With Minimum Number of OperationsJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy
1814Count Nice Pairs in an ArrayJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Math
1833Maximum Ice Cream BarsJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting
1834Single-Threaded CPUJava$\text{\color{Dandelion}Medium}$Array,Heap (Priority Queue),Sorting
1865Finding Pairs With a Certain SumJava$\text{\color{Dandelion}Medium}$Array,Design,Hash Table
1920Build Array from PermutationJava$\text{\color{TealBlue}Easy}$Array,Simulation
1926Nearest Exit from Entrance in MazeJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Matrix
1962Remove Stones to Minimize the TotalJava$\text{\color{Dandelion}Medium}$Array,Heap (Priority Queue)
1979Find Greatest Common Divisor of ArrayJava$\text{\color{TealBlue}Easy}$Array,Math,Number Theory
1995Count Special QuadrupletsJava$\text{\color{TealBlue}Easy}$Array,EnumerationSolution UsingHash Table
2006Count Number of Pairs With Absolute Difference KJava withBrute Force,Counting orHash Table$\text{\color{TealBlue}Easy}$Array,Counting,Hash Table
2007Find Original Array From Doubled ArrayJava withHash Table,Queue orCounting Array$\text{\color{Dandelion}Medium}$Array,Greedy,Hash Table,Sorting
2023Number of Pairs of Strings With Concatenation Equal to TargetJava$\text{\color{Dandelion}Medium}$Array,String
2028Find Missing ObservationsJava$\text{\color{Dandelion}Medium}$Array,Math,Simulation
2131Longest Palindrome by Concatenating Two Letter WordsJava withCounting orHash Table$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table,String
2133Check if Every Row and Column Contains All NumbersJavawithout orwith Hash Table$\text{\color{TealBlue}Easy}$Array,Hash Table,Matrix
2136Earliest Possible Day of Full BloomJava$\text{\color{Red}Hard}$Array,Greedy,Sorting
2176Count Equal and Divisible Pairs in an ArrayJava$\text{\color{TealBlue}Easy}$Array
2244Minimum Rounds to Complete All TasksJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table
2279Maximum Bags With Full Capacity of RocksJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting
2352Equal Row and Column PairsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix,Simulation
2389Longest Subsequence With Limited SumJava$\text{\color{TealBlue}Easy}$Array,Binary Search,Greedy,Prefix Sum,Sorting
2395Find Subarrays With Equal SumJava$\text{\color{TealBlue}Easy}$Array,Hash Table
2399Check Distances Between Same LettersJavawithout orwith Hash Table$\text{\color{TealBlue}Easy}$Array,Hash Table,String
2438Range Product Queries of PowersJava$\text{\color{Dandelion}Medium}$Array,Bit Manipulation,Prefix Sum
2452Words Within Two Edits of DictionaryJava$\text{\color{Dandelion}Medium}$Array,String
2453Destroy Sequential TargetsJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table
2454Next Greater Element IVJava$\text{\color{Red}Hard}$Array,Monotonic Stack,Stack

⬆️Back To Top


Backtracking

#ProblemSolutionDifficultyTopicsNote
37Sudoku SolverJava$\text{\color{Red}Hard}$Array,Backtracking,Matrix
46PermutationsJava$\text{\color{Dandelion}Medium}$Array,BacktrackingSolution UsingIteration orRecursion
79Word SearchJava$\text{\color{Dandelion}Medium}$Array,Backtracking,Matrix
113Path Sum IIJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Backtracking,Binary Tree,Depth-First Search,Tree
257Binary Tree PathsJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Backtracking,Binary Tree,Depth-First Search,String,Tree
797All Paths From Source to TargetJava$\text{\color{Dandelion}Medium}$Backtracking,Breadth-First Search,Depth-First Search,GraphSolution UsingBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)
967Numbers With Same Consecutive DifferencesJava$\text{\color{Dandelion}Medium}$Backtracking,Breadth-First SearchSolution UsingBreadth-First Search
1239Maximum Length of a Concatenated String with Unique CharactersJava$\text{\color{Dandelion}Medium}$Array,Backtracking,Bit Manipulation,StringSolution UsingBit Manipulation

⬆️Back To Top


Binary Search

#ProblemSolutionDifficultyTopicsNote
102Binary Tree Level Order TraversalJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
103Binary Tree Zigzag Level Order TraversalJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
107Binary Tree Level Order Traversal IIJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
144Binary Tree Preorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,Tree
145Binary Tree Postorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,Tree
167Two Sum II - Input Array is SortedJava$\text{\color{Dandelion}Medium}$Array,Binary Search,Two PointersSolution UsingTwo Pointers
222Count Complete Tree NodesJava$\text{\color{Dandelion}Medium}$Binary Search,Binary Tree,Depth-First Search,Tree
275H-Index IIJava$\text{\color{Dandelion}Medium}$Array,Binary Search
374Guess Number Higher or LowerJava$\text{\color{TealBlue}Easy}$Binary Search,Interactive
744Find Smallest Letter Greater Than TargetJava$\text{\color{TealBlue}Easy}$Array,Binary SearchSolution UsingLinear Search
1337The K Weakest Rows in a MatrixJava withBinary Search,Heap (Priority Queue) & Binary Search orSorting & Binary Search$\text{\color{TealBlue}Easy}$Array,Binary Search,Heap (Priority Queue),Matrix,SortingSolution UsingLinear Search
1346Check If N and Its Double ExistJava withBinary Search & Sorting$\text{\color{TealBlue}Easy}$Array,Binary Search,Hash Table,Sorting,Two PointersSolution UsingHash Table orTwo Pointers
1351Count Negative Numbers in a Sorted MatrixJava$\text{\color{TealBlue}Easy}$Array,Binary Search,MatrixSolution UsingLinear Search
2389Longest Subsequence With Limited SumJava$\text{\color{TealBlue}Easy}$Array,Binary Search,Greedy,Prefix Sum,Sorting

⬆️Back To Top


Binary Search Tree

#ProblemSolutionDifficultyTopicsNote
98Validate Binary Search TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Search Tree,Binary Tree,Depth-First Search,Tree
653Two Sum IV - Input is a BSTJava withBreadth-First Search (with Hash Table),Breadth-First Search (without Hash Table),Depth-First Search (Iterative),Depth-First Search (Recursive),Two Pointers (with Iterative Inorder Traversal) orTwo Pointers (with Recursive Inorder Traversal)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Hash Table,Tree,Two Pointers
783Minimum Distance Between BST NodesJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Tree

⬆️Back To Top


Binary Tree

#ProblemSolutionDifficultyTopicsNote
94Binary Tree Inorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Depth-First Search,Stack,Tree
98Validate Binary Search TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Search Tree,Binary Tree,Depth-First Search,Tree
100Same TreeJava withBreadth-First Search orDepth-First Search$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
104Maximum Depth of Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
110Balanced Binary TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Depth-First Search,Tree
111Minimum Depth of Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
112Path SumJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
113Path Sum IIJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Backtracking,Binary Tree,Depth-First Search,Tree
114Flatten Binary Tree to Linked ListJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Linked List,Stack,Tree
129Sum Root to Leaf NumbersJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
222Count Complete Tree NodesJava$\text{\color{Dandelion}Medium}$Binary Search,Binary Tree,Depth-First Search,Tree
226Invert Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
257Binary Tree PathsJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Backtracking,Binary Tree,Depth-First Search,String,Tree
404Sum of Left LeavesJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
437Path Sum IIIJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
653Two Sum IV - Input is a BSTJava withBreadth-First Search (with Hash Table),Breadth-First Search (without Hash Table),Depth-First Search (Iterative),Depth-First Search (Recursive),Two Pointers (with Iterative Inorder Traversal) orTwo Pointers (with Recursive Inorder Traversal)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Hash Table,Tree,Two Pointers
783Minimum Distance Between BST NodesJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Tree
988Smallest String Starting From LeafJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,String,Tree
1026Maximum Difference Between Node and AncestorJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
1457Pseudo-Palindromic Paths in a Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Bit Manipulation,Breadth-First Search,Depth-First Search,Tree

⬆️Back To Top


Bit Manipulation

#ProblemSolutionDifficultyTopicsNote
29Divide Two IntegersJava$\text{\color{Dandelion}Medium}$Bit Manipulation,Math
136Single NumberJava$\text{\color{TealBlue}Easy}$Array,Bit ManipulationBonus Solution UsingStream Reduce
371Sum of Two IntegersJava$\text{\color{Dandelion}Medium}$Bit Manipulation,Math
393UTF-8 ValidationJava$\text{\color{Dandelion}Medium}$Array,Bit ManipulationSolutionwithout using Bit Manipulation
645Set MismatchJava$\text{\color{TealBlue}Easy}$Array,Bit Manipulation,Hash Table,SortingSolution UsingHash Table orSorting
1239Maximum Length of a Concatenated String with Unique CharactersJava$\text{\color{Dandelion}Medium}$Array,Backtracking,Bit Manipulation,StringSolution UsingBacktracking
1318Minimum Flips to Make a OR b Equal to cJava$\text{\color{Dandelion}Medium}$Bit Manipulation
1342Number of Steps to Reduce a Number to ZeroJava$\text{\color{TealBlue}Easy}$Bit Manipulation,MathSolution UsingMath
1457Pseudo-Palindromic Paths in a Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Bit Manipulation,Breadth-First Search,Depth-First Search,Tree
1486XOR Operation in an ArrayJava$\text{\color{TealBlue}Easy}$Bit Manipulation,Math
1680Concatenation of Consecutive Binary NumbersJava$\text{\color{Dandelion}Medium}$Bit Manipulation,Math,SimulationSolution UsingMath
2220Minimum Bit Flips to Convert NumberJava$\text{\color{TealBlue}Easy}$Bit Manipulation
2438Range Product Queries of PowersJava$\text{\color{Dandelion}Medium}$Array,Bit Manipulation,Prefix Sum

⬆️Back To Top


Brainteaser

#ProblemSolutionDifficultyTopicsNote
1033Moving Stones Until ConsecutiveJava$\text{\color{Dandelion}Medium}$Brainteaser,Math

⬆️Back To Top


Breadth-First Search

#ProblemSolutionDifficultyTopicsNote
100Same TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search
102Binary Tree Level Order TraversalJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
103Binary Tree Zigzag Level Order TraversalJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
104Maximum Depth of Binary TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
107Binary Tree Level Order Traversal IIJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
111Minimum Depth of Binary TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
112Path SumJava$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
130Surrounded RegionsJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union FindSolution UsingDepth-First Search orUnion Find
200Number of IslandsJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union FindSolution UsingDepth-First Search orUnion Find
226Invert Binary TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
404Sum of Left LeavesJava$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
429N-ary Tree Level Order TraversalJava$\text{\color{Dandelion}Medium}$Breadth-First Search,Tree
559Maximum Depth of Binary TreeJava$\text{\color{TealBlue}Easy}$Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
653Two Sum IV - Input is a BSTJavawith orwithout Hash Table$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Hash Table,Tree,Two PointersSolution UsingDepth-First Search (Iterative),Depth-First Search (Recursive),Two Pointers (with Iterative Inorder Traversal) orTwo Pointers (with Recursive Inorder Traversal)
783Minimum Distance Between BST NodesJava$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
797All Paths From Source to TargetJava$\text{\color{Dandelion}Medium}$Backtracking,Breadth-First Search,Depth-First Search,GraphSolution UsingDepth-First Search (Backtracking),Depth-First Search (Iterative) orDepth-First Search (Recursive)
967Numbers With Same Consecutive DifferencesJava$\text{\color{Dandelion}Medium}$Backtracking,Breadth-First SearchSolution UsingBacktracking
1457Pseudo-Palindromic Paths in a Binary TreeJava$\text{\color{Dandelion}Medium}$Binary Tree,Bit Manipulation,Breadth-First Search,Depth-First Search,TreeSolution UsingDepth-First Search (Iterative) orDepth-First Search (Recursive)
1926Nearest Exit from Entrance in MazeJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Matrix
1971Find if Path Exists in GraphJava$\text{\color{TealBlue}Easy}$Breadth-First Search,Depth-First Search,Graph,Union FindSolution UsingDepth-First Search (Iterative),Depth-First Search (Recursive) orUnion Find

⬆️Back To Top


Bucket Sort

#ProblemSolutionDifficultyTopicsNote
220Contains Duplicate IIIJava withSliding Window & Bucket Sort$\text{\color{Red}Hard}$Array,Bucket Sort,Ordered Set,Sliding Window,SortingSolution UsingSliding Window & Ordered Set orSorting

⬆️Back To Top


Counting

#ProblemSolutionDifficultyTopicsNote
169Majority ElementJava withCounting & Divide and Conquer orCounting & Hash Table$\text{\color{TealBlue}Easy}$Array,Counting,Divide and Conquer,Hash Table,SortingSolution UsingBoyer-Moore Majority Voting Algorithm orSorting
229Majority Element IIJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,SortingSolution UsingBoyer-Moore Majority Voting Algorithm orSorting
383Ransom NoteJava$\text{\color{TealBlue}Easy}$Counting,Hash Table,StringSolution UsingHash Table
9233Sum With MultiplicityJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Sorting,Two PointersSolution UsingHash Table orSorting & Two Pointers
1497Check If Array Pairs Are Divisible by kJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash TableSolution UsingHash Table
1603Design Parking SystemJava$\text{\color{TealBlue}Easy}$Counting,Design,Simulation
1704Determine if String Halves Are AlikeJava$\text{\color{TealBlue}Easy}$Counting,String
1775Equal Sum Arrays With Minimum Number of OperationsJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy
1814Count Nice Pairs in an ArrayJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Math
2006Count Number of Pairs With Absolute Difference KJava$\text{\color{TealBlue}Easy}$Array,Counting,Hash TableSolution UsingBrute Force Approach orHash Table
2131Longest Palindrome by Concatenating Two Letter WordsJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table,StringSolution UsingHash Table
2244Minimum Rounds to Complete All TasksJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table
2351First Letter to Appear TwiceJava$\text{\color{TealBlue}Easy}$Counting,Hash Table,StringSolution UsingHash Table
2453Destroy Sequential TargetsJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table

⬆️Back To Top


Counting Sort

#ProblemSolutionDifficultyTopicsNote
274H-IndexJava$\text{\color{TealBlue}Easy}$Array,Counting Sort,SortingSolution UsingSorting
561Array PartitionJava$\text{\color{TealBlue}Easy}$Array,Counting Sort,Greedy,SortingSolution UsingGreedy & Sorting
1051Height CheckerJava$\text{\color{TealBlue}Easy}$Array,Counting Sort,SortingSolution UsingSorting
1122Relative Sort ArrayJava$\text{\color{TealBlue}Easy}$Array,Counting Sort,Hash Table,SortingSolution UsingHash Table

⬆️Back To Top


Data Stream

#ProblemSolutionDifficultyTopicsNote
295Find Median from Data StreamJava$\text{\color{Red}Hard}$Data Stream,Design,Heap (Priority Queue),Sorting,Two Pointers

⬆️Back To Top


Depth-First Search

#ProblemSolutionDifficultyTopicsNote
94Binary Tree Inorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Depth-First Search,Stack,Tree
98Validate Binary Search TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Search Tree,Binary Tree,Depth-First Search,Tree
100Same TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
104Maximum Depth of Binary TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
110Balanced Binary TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Depth-First Search,Tree
111Minimum Depth of Binary TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
112Path SumJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
113Path Sum IIJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Backtracking,Binary Tree,Depth-First Search,Tree
114Flatten Binary Tree to Linked ListJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Linked List,Stack,Tree
129Sum Root to Leaf NumbersJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
130Surrounded RegionsJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union FindSolution UsingBreadth-First Search orUnion Find
144Binary Tree Preorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,Tree
145Binary Tree Postorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,Tree
200Number of IslandsJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union FindSolution UsingBreadth-First Search orUnion Find
222Count Complete Tree NodesJava$\text{\color{Dandelion}Medium}$Binary Search,Binary Tree,Depth-First Search,Tree
226Invert Binary TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
257Binary Tree PathsJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Backtracking,Binary Tree,Depth-First Search,String,Tree
404Sum of Left LeavesJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
437Path Sum IIIJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
559Maximum Depth of Binary TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
653Two Sum IV - Input is a BSTJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Hash Table,Tree,Two PointersSolution UsingBreadth-First Search (with Hash Table),Breadth-First Search (without Hash Table),Two Pointers (with Iterative Inorder Traversal) orTwo Pointers (with Recursive Inorder Traversal)
783Minimum Distance Between BST NodesJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
797All Paths From Source to TargetJava withDepth-First Search (Backtracking),Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Backtracking,Breadth-First Search,Depth-First Search,GraphSolution UsingBreadth-First Search
988Smallest String Starting From LeafJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,String,Tree
1026Maximum Difference Between Node and AncestorJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
1457Pseudo-Palindromic Paths in a Binary TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Bit Manipulation,Breadth-First Search,Depth-First Search,TreeSolution UsingBreadth-First Search
1971Find if Path Exists in GraphJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Breadth-First Search,Depth-First Search,Graph,Union FindSolution UsingBreadth-First Search orUnion Find
2359Find Closest Node to Given Two NodesJava$\text{\color{Dandelion}Medium}$Depth-First Search,Graph

⬆️Back To Top


Design

#ProblemSolutionDifficultyTopicsNote
225Implement Stack using QueuesJava$\text{\color{TealBlue}Easy}$Design,Queue,Stack
232Implement Queue using StacksJava$\text{\color{TealBlue}Easy}$Design,Queue,Stack
295Find Median from Data StreamJava$\text{\color{Red}Hard}$Data Stream,Design,Heap (Priority Queue),Sorting,Two Pointers
707Design Linked ListJava withSingly Linked List orDoubly Linked List$\text{\color{Dandelion}Medium}$Design,Linked List
1603Design Parking SystemJava$\text{\color{TealBlue}Easy}$Counting,Design,Simulation
1865Finding Pairs With a Certain SumJava$\text{\color{Dandelion}Medium}$Array,Design,Hash Table

⬆️Back To Top


Divide and Conquer

#ProblemSolutionDifficultyTopicsNote
169Majority ElementJava$\text{\color{TealBlue}Easy}$Array,Counting,Divide and Conquer,Hash Table,SortingSolution UsingBoyer-Moore Majority Voting Algorithm,Counting & Hash Table orSorting

⬆️Back To Top


Dynamic Programming

#ProblemSolutionDifficultyTopicsNote
5Longest Palindromic SubstringJava$\text{\color{Dandelion}Medium}$Dynamic Programming,StringSolution Using Two Pointers withApproach 1 orApproach 2
45Jump Game IIJava with Dynamic Programming -Memoization orTabulation$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,GreedySolution UsingGreedy
55Jump GameJava$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,GreedySolution UsingGreedy
70Climbing StairsJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization
121Best Time to Buy and Sell StockJava$\text{\color{TealBlue}Easy}$Array,Dynamic ProgrammingSolutionwithout Using Dynamic Programming
152Maximum Product SubarrayJava$\text{\color{Dandelion}Medium}$Array,Dynamic ProgrammingSolution UsingArray
264Ugly Number IIJava$\text{\color{Dandelion}Medium}$Dynamic Programming,Hash Table,Heap (Priority Queue),MathSolution UsingHeap (Priority Queue)
368Largest Divisible SubsetJava$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Math,Sorting
509Fibonacci NumberJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization,Recursion
746Min Cost Climbing StairsJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Array,Dynamic Programming
1137N-th Tribonacci NumberJava with Dynamic ProgrammingIteratively orRecursively (Memoization)$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization
1155Number of Dice Rolls With Target SumJava with Dynamic Programming usingMemoization orTabulation$\text{\color{Dandelion}Medium}$Dynamic Programming
1578Minimum Time to Make Rope ColorfulJava$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Greedy,StringSolution UsingGreedy

⬆️Back To Top


Enumeration

#ProblemSolutionDifficultyTopicsNote
1534Count Good TripletsJava$\text{\color{TealBlue}Easy}$Array,Enumeration
1995Count Special QuadrupletsJava$\text{\color{TealBlue}Easy}$Array,EnumerationSolution UsingHash Table
2240Number of Ways to Buy Pens and PencilsJava$\text{\color{Dandelion}Medium}$Enumeration,Math
2437Number of Valid Clock TimesJava$\text{\color{TealBlue}Easy}$Enumeration,String

⬆️Back To Top


Geometry

#ProblemSolutionDifficultyTopicsNote
223Rectangle AreaJava$\text{\color{Dandelion}Medium}$Geometry,Math
593Valid SquareJava$\text{\color{Dandelion}Medium}$Geometry,Math
812Largest Triangle AreaJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
836Rectangle OverlapJava$\text{\color{TealBlue}Easy}$Geometry,Math
1037Valid BoomerangJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
1232Check If It Is a Straight LineJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math

⬆️Back To Top


Graph

#ProblemSolutionDifficultyTopicsNote
797All Paths From Source to TargetJava withBreadth-First Search,Depth-First Search (Backtracking),Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Backtracking,Breadth-First Search,Depth-First Search,Graph
1971Find if Path Exists in GraphJava withBreadth-First Search,Depth-First Search (Iterative),Depth-First Search (Recursive) orUnion Find$\text{\color{TealBlue}Easy}$Breadth-First Search,Depth-First Search,Graph,Union Find
2359Find Closest Node to Given Two NodesJava$\text{\color{Dandelion}Medium}$Depth-First Search,Graph

⬆️Back To Top


Greedy

#ProblemSolutionDifficultyTopicsNote
45Jump Game IIJava withGreedy$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,GreedySolution UsingDynamic Programming (Memoization) orDynamic Programming (Tabulation)
55Jump GameJava withGreedy$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,GreedySolution UsingDynamic Programming
134Gas StationJava$\text{\color{Dandelion}Medium}$Array,Greedy
334Increasing Triplet SubsequenceJava$\text{\color{Dandelion}Medium}$Array,Greedy
561Array PartitionJava withGreedy & Counting Sort orGreedy & Sorting$\text{\color{TealBlue}Easy}$Array,Counting Sort,Greedy,Sorting
948Bag of TokensJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting,Two Pointers
976Largest Perimeter TriangleJava$\text{\color{TealBlue}Easy}$Array,Greedy,Math,Sorting
1323Maximum 69 NumberJava withMath orString$\text{\color{TealBlue}Easy}$Greedy,Math
1328Break a PalindromeJava$\text{\color{Dandelion}Medium}$Greedy,String
1578Minimum Time to Make Rope ColorfulJava$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Greedy,StringSolution UsingDynamic Programming
1775Equal Sum Arrays With Minimum Number of OperationsJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy
1833Maximum Ice Cream BarsJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting
2007Find Original Array From Doubled ArrayJava withHash Table,Queue orCounting Array$\text{\color{Dandelion}Medium}$Array,Greedy,Hash Table,Sorting
2131Longest Palindrome by Concatenating Two Letter WordsJava withCounting orHash Table$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table,String
2136Earliest Possible Day of Full BloomJava$\text{\color{Red}Hard}$Array,Greedy,Sorting
2244Minimum Rounds to Complete All TasksJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table
2279Maximum Bags With Full Capacity of RocksJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting
2389Longest Subsequence With Limited SumJava$\text{\color{TealBlue}Easy}$Array,Binary Search,Greedy,Prefix Sum,Sorting

⬆️Back To Top


Hash Table

#ProblemSolutionDifficultyTopicsNote
1Two SumJava$\text{\color{TealBlue}Easy}$Array,Hash Table
3Longest Substring Without Repeating CharactersJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,StringSolutionwithout Using Hash Table
12Integer to RomanJava$\text{\color{Dandelion}Medium}$Hash Table,Math,StringSolutionwithout Hash Table
13Roman to IntegerJava$\text{\color{TealBlue}Easy}$Hash Table,Math,StringSolutionwithout Hash Table
36Valid SudokuJava$\text{\color{Dandelion}Medium}$Array,Hash Table,MatrixSolutionwithout Hash Table
49Group AnagramsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,String
73Set Matrix ZeroesJava withArray,Hash Table orIn-Place$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix
169Majority ElementJava$\text{\color{TealBlue}Easy}$Array,Counting,Divide and Conquer,Hash Table,SortingSolution UsingBoyer-Moore Majority Voting Algorithm,Counting & Divide and Conquer orSorting
205Isomorphic StringsJava$\text{\color{TealBlue}Easy}$Hash Table,String
217Contains DuplicateJava withHash Map orHash Set$\text{\color{TealBlue}Easy}$Array,Hash Table,SortingSolution UsingSorting
219Contains Duplicate IIJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Sliding WindowSolution UsingSliding Window
229Majority Element IIJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,SortingSolution UsingBoyer-Moore Majority Voting Algorithm orSorting
264Ugly Number IIJava withDynamic Programming orHeap (Priority Queue)$\text{\color{Dandelion}Medium}$Dynamic Programming,Hash Table,Heap (Priority Queue),Math
290Word PatternJava$\text{\color{TealBlue}Easy}$Hash Table,String
383Ransom NoteJava$\text{\color{TealBlue}Easy}$Counting,Hash Table,StringSolution UsingCounting Array
438Find All Anagrams in a StringJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String
448Find All Numbers Disappeared in an ArrayJava$\text{\color{TealBlue}Easy}$Array,Hash TableSolutionwithout Hash Table
496Next Greater Element IJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Monotonic Stack,Stack
523Continuous Subarray SumJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Math,Prefix Sum
560Subarray Sum Equals KJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Prefix Sum
567Permutation in StringJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String,Two Pointers
609Find Duplicate File in SystemJava$\text{\color{Dandelion}Medium}$Array,Hash Table,String
645Set MismatchJava$\text{\color{TealBlue}Easy}$Array,Bit Manipulation,Hash Table,SortingSolution UsingBit Manipulation orSorting
653Two Sum IV - Input is a BSTJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Hash Table,Tree,Two PointersSolution UsingBreadth-First Search (without Hash Table),Two Pointers (with Iterative Inorder Traversal) orTwo Pointers (with Recursive Inorder Traversal)
904Fruit Into BasketsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sliding Window
9233Sum With MultiplicityJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Sorting,Two PointersSolution UsingCounting orSorting & Two Pointers
929Unique Email AddressesJava$\text{\color{TealBlue}Easy}$Array,Hash Table,String
953Verifying an Alien DictionaryJava$\text{\color{TealBlue}Easy}$Array,Hash Table,String
974Subarray Sums Divisible by KJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Prefix SumSolution UsingCounting
1122Relative Sort ArrayJava$\text{\color{TealBlue}Easy}$Array,Counting Sort,Hash Table,SortingSolution UsingCounting Sort
1207Unique Number of OccurrencesJava$\text{\color{TealBlue}Easy}$Array,Hash TableSolution UsingCounting & Sorting
1346Check If N and Its Double ExistJava withHash Table$\text{\color{TealBlue}Easy}$Array,Binary Search,Hash Table,Sorting,Two PointersSolution UsingBinary Search & Sorting orTwo Pointers
1497Check If Array Pairs Are Divisible by kJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash TableSolution UsingCounting
1636Sort Array by Increasing FrequencyJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Sorting
1657Determine if Two Strings Are CloseJava withHash Table & Sorting$\text{\color{Dandelion}Medium}$Array,Hash Table,SortingSolution Usingonly Sorting
1679Max Number of K-Sum PairsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,Two PointersSolution UsingSorting & Two Pointers
1711Count Good MealsJava$\text{\color{Dandelion}Medium}$Array,Hash Table
1814Count Nice Pairs in an ArrayJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Math
1832Check if the Sentence is PangramJava$\text{\color{TealBlue}Easy}$Hash Table,StringSolution UsingBit Manipulation ,Counting andWithout Hash Table
1865Finding Pairs With a Certain SumJava$\text{\color{Dandelion}Medium}$Array,Design,Hash Table
1935Maximum Number of Words You Can TypeJava$\text{\color{TealBlue}Easy}$Hash Table,String
2006Count Number of Pairs With Absolute Difference KJava$\text{\color{TealBlue}Easy}$Array,Counting,Hash TableSolution UsingBrute Force,Counting
2007Find Original Array From Doubled ArrayJava$\text{\color{Dandelion}Medium}$Array,Greedy,Hash Table,SortingSolution UsingQueue orCounting Array
2131Longest Palindrome by Concatenating Two Letter WordsJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table,StringSolution UsingCounting
2133Check if Every Row and Column Contains All NumbersJava$\text{\color{TealBlue}Easy}$Array,Hash Table,MatrixSolutionWithout Hash Table
2244Minimum Rounds to Complete All TasksJava$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table
2351First Letter to Appear TwiceJava$\text{\color{TealBlue}Easy}$Counting,Hash Table,StringSolution UsingCounting
2352Equal Row and Column PairsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix,Simulation
2395Find Subarrays With Equal SumJava$\text{\color{TealBlue}Easy}$Array,Hash Table
2399Check Distances Between Same LettersJava$\text{\color{TealBlue}Easy}$Array,Hash Table,StringSolutionWithout Hash Table
2451Odd String DifferenceJava$\text{\color{TealBlue}Easy}$Hash Table,Math,StringSolutionWithout Hash Table
2453Destroy Sequential TargetsJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table

⬆️Back To Top


Heap (Priority Queue)

#ProblemSolutionDifficultyTopicsNote
264Ugly Number IIJava$\text{\color{Dandelion}Medium}$Dynamic Programming,Hash Table,Heap (Priority Queue),MathSolution UsingDynamic Programming
295Find Median from Data StreamJava$\text{\color{Red}Hard}$Data Stream,Design,Heap (Priority Queue),Sorting,Two Pointers
1337The K Weakest Rows in a MatrixJava withHeap (Priority Queue) & Binary Search$\text{\color{TealBlue}Easy}$Array,Binary Search,Heap (Priority Queue),Matrix,SortingSolution UsingLinear Search,Binary Search,Sorting & Binary Search
1834Single-Threaded CPUJava$\text{\color{Dandelion}Medium}$Array,Heap (Priority Queue),Sorting
1962Remove Stones to Minimize the TotalJava$\text{\color{Dandelion}Medium}$Array,Heap (Priority Queue)

⬆️Back To Top


Interactive

#ProblemSolutionDifficultyTopicsNote
374Guess Number Higher or LowerJava$\text{\color{TealBlue}Easy}$Binary Search,Interactive

⬆️Back To Top


Linked List

#ProblemSolutionDifficultyTopicsNote
19Remove Nth Node From End of ListJava withOne Pass orTwo Passes$\text{\color{Dandelion}Medium}$Linked List,Two Pointers
24Swap Nodes in PairsJava withIteration orRecursion$\text{\color{Dandelion}Medium}$Linked List,Recursion
92Reverse Linked List IIJava$\text{\color{Dandelion}Medium}$Linked List
114Flatten Binary Tree to Linked ListJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Linked List,Stack,Tree
206Reverse Linked ListJava withArray List, Reverse NodesIteratively orRecursively$\text{\color{TealBlue}Easy}$Linked List,Recursion
707Design Linked ListJava withSingly Linked List orDoubly Linked List$\text{\color{Dandelion}Medium}$Design,Linked List
876Middle of the Linked ListJava$\text{\color{TealBlue}Easy}$Linked List,Two Pointers
1019Next Greater Node In Linked ListJava$\text{\color{Dandelion}Medium}$Array,Linked List,Monotonic Stack,Stack
2095Delete the Middle Node of a Linked ListJava$\text{\color{Dandelion}Medium}$Linked List,Two Pointers
2130Maximum Twin Sum of a Linked ListJava withTwo Pointers orTwo Pointers & Stack$\text{\color{Dandelion}Medium}$Linked List,Stack,Two Pointers

⬆️Back To Top


Math

#ProblemSolutionDifficultyTopicsNote
12Integer to RomanJavawith orwithout Hash Table$\text{\color{Dandelion}Medium}$Hash Table,Math,String
13Roman to IntegerJavawith orwithout Hash Table$\text{\color{TealBlue}Easy}$Hash Table,Math,String
29Divide Two IntegersJava$\text{\color{Dandelion}Medium}$Bit Manipulation,Math
70Climbing StairsJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization
223Rectangle AreaJava$\text{\color{Dandelion}Medium}$Geometry,Math
263Ugly NumberJava$\text{\color{TealBlue}Easy}$Math
264Ugly Number IIJava withDynamic Programming orHeap (Priority Queue)$\text{\color{Dandelion}Medium}$Dynamic Programming,Hash Table,Heap (Priority Queue),Math
368Largest Divisible SubsetJava$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Math,Sorting
371Sum of Two IntegersJava$\text{\color{Dandelion}Medium}$Bit Manipulation,Math
412Fizz BuzzJava$\text{\color{TealBlue}Easy}$Math,Simulation,String
492Construct the RectangleJava$\text{\color{TealBlue}Easy}$Math
509Fibonacci NumberJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization,Recursion
523Continuous Subarray SumJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Math,Prefix Sum
556Next Greater Element IIIJava$\text{\color{Dandelion}Medium}$Math,String,Two Pointers
593Valid SquareJava$\text{\color{Dandelion}Medium}$Geometry,Math
812Largest Triangle AreaJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
836Rectangle OverlapJava$\text{\color{TealBlue}Easy}$Geometry,Math
976Largest Perimeter TriangleJava$\text{\color{TealBlue}Easy}$Array,Greedy,Math,Sorting
989Add to Array-Form of IntegerJava$\text{\color{TealBlue}Easy}$Array,Math
1033Moving Stones Until ConsecutiveJava$\text{\color{Dandelion}Medium}$Brainteaser,Math
1037Valid BoomerangJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
1071Greatest Common Divisor of StringsJava$\text{\color{TealBlue}Easy}$Math,String
1103Distribute Candies to PeopleJava$\text{\color{TealBlue}Easy}$Math,Simulation
1137N-th Tribonacci NumberJava with Dynamic ProgrammingIteratively orRecursively (Memoization)$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization
1154Day of the YearJava$\text{\color{TealBlue}Easy}$Math,String
1232Check If It Is a Straight LineJava$\text{\color{TealBlue}Easy}$Array,Geometry,Math
1323Maximum 69 NumberJava$\text{\color{TealBlue}Easy}$Greedy,MathSolution UsingString
1342Number of Steps to Reduce a Number to ZeroJava$\text{\color{TealBlue}Easy}$Bit Manipulation,MathSolution UsingBit Manipulation
1486XOR Operation in an ArrayJava$\text{\color{TealBlue}Easy}$Bit Manipulation,Math
1523Count Odd Numbers in an Interval RangeJava$\text{\color{TealBlue}Easy}$Math
1680Concatenation of Consecutive Binary NumbersJava$\text{\color{Dandelion}Medium}$Bit Manipulation,Math,SimulationSolution UsingBit Manipulation
1814Count Nice Pairs in an ArrayJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Math
1979Find Greatest Common Divisor of ArrayJava$\text{\color{TealBlue}Easy}$Array,Math,Number Theory
2028Find Missing ObservationsJava$\text{\color{Dandelion}Medium}$Array,Math,Simulation
2169Count Operations to Obtain ZeroJava$\text{\color{TealBlue}Easy}$Math,Simulation
2240Number of Ways to Buy Pens and PencilsJava$\text{\color{Dandelion}Medium}$Enumeration,Math
2413Smallest Even MultipleJava$\text{\color{TealBlue}Easy}$Math,Number Theory
2451Odd String DifferenceJavawithout orwith Hash Table$\text{\color{TealBlue}Easy}$Hash Table,Math,String

⬆️Back To Top


Matrix

#ProblemSolutionDifficultyTopicsNote
36Valid SudokuJavawithout orwith Hash Table$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix
37Sudoku SolverJava$\text{\color{Red}Hard}$Array,Backtracking,Matrix
73Set Matrix ZeroesJava withArray,Hash Table orIn-Place$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix
79Word SearchJava$\text{\color{Dandelion}Medium}$Array,Backtracking,Matrix
130Surrounded RegionsJava withBreadth-First Search,Depth-First Search orUnion Find$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union Find
200Number of IslandsJava withBreadth-First Search,Depth-First Search orUnion Find$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union Find
766Toeplitz MatrixJava$\text{\color{TealBlue}Easy}$Array,MatrixFollow up:One Row at a Time andOne Column at a Time
835Image OverlapJava withBit Manipulation orHash Table$\text{\color{Dandelion}Medium}$Array,Matrix
1337The K Weakest Rows in a MatrixJava withLinear Search,Binary Search,Heap (Priority Queue) orSorting$\text{\color{TealBlue}Easy}$Array,Binary Search,Heap (Priority Queue),Matrix,Sorting
1351Count Negative Numbers in a Sorted MatrixJava withLinear Search orBinary Search$\text{\color{TealBlue}Easy}$Array,Binary Search,Matrix
1672Richest Customer WealthJava$\text{\color{TealBlue}Easy}$Array,Matrix
1926Nearest Exit from Entrance in MazeJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Matrix
2133Check if Every Row and Column Contains All NumbersJavawithout orwith Hash Table$\text{\color{TealBlue}Easy}$Array,Hash Table,Matrix
2352Equal Row and Column PairsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix,Simulation

⬆️Back To Top


Memoization

#ProblemSolutionDifficultyTopicsNote
70Climbing StairsJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization
509Fibonacci NumberJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization,Recursion
1137N-th Tribonacci NumberJava$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,MemoizationSolution UsingDynamic Programming (Iterative)

⬆️Back To Top


Monotonic Stack

#ProblemSolutionDifficultyTopicsNote
496Next Greater Element IJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Monotonic Stack,Stack
503Next Greater Element IIJava$\text{\color{Dandelion}Medium}$Array,Monotonic Stack,Stack
1019Next Greater Node In Linked ListJava$\text{\color{Dandelion}Medium}$Array,Linked List,Monotonic Stack,Stack
2454Next Greater Element IVJava$\text{\color{Red}Hard}$Array,Monotonic Stack,Stack

⬆️Back To Top


Number Theory

#ProblemSolutionDifficultyTopicsNote
1979Find Greatest Common Divisor of ArrayJava$\text{\color{TealBlue}Easy}$Array,Math,Number Theory
2413Smallest Even MultipleJava$\text{\color{TealBlue}Easy}$Math,Number Theory

⬆️Back To Top


Ordered Set

#ProblemSolutionDifficultyTopicsNote
220Contains Duplicate IIIJava withSliding Window & Ordered Set$\text{\color{Red}Hard}$Array,Bucket Sort,Ordered Set,Sliding Window,SortingSolution UsingSliding Window & Bucket Sort orSorting

⬆️Back To Top


Prefix Sum

#ProblemSolutionDifficultyTopicsNote
238Product of Array Except SelfJava$\text{\color{Dandelion}Medium}$Array,Prefix Sum
523Continuous Subarray SumJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Math,Prefix Sum
560Subarray Sum Equals KJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Prefix Sum
974Subarray Sums Divisible by KJava withCounting orHash Table$\text{\color{Dandelion}Medium}$Array,Hash Table,Prefix Sum
1480Running Sum of 1D ArrayJava$\text{\color{TealBlue}Easy}$Array,Prefix Sum
1732Find the Highest AltitudeJava$\text{\color{TealBlue}Easy}$Array,Prefix Sum
2389Longest Subsequence With Limited SumJava$\text{\color{TealBlue}Easy}$Array,Binary Search,Greedy,Prefix Sum,Sorting
2438Range Product Queries of PowersJava$\text{\color{Dandelion}Medium}$Array,Bit Manipulation,Prefix Sum

⬆️Back To Top


Queue

#ProblemSolutionDifficultyTopicsNote
225Implement Stack using QueuesJava$\text{\color{TealBlue}Easy}$Design,Queue,Stack
232Implement Queue using StacksJava$\text{\color{TealBlue}Easy}$Design,Queue,Stack

⬆️Back To Top


Recursion

#ProblemSolutionDifficultyTopicsNote
24Swap Nodes in PairsJava$\text{\color{Dandelion}Medium}$Linked List,RecursionSolution UsingIteration
206Reverse Linked ListJava$\text{\color{TealBlue}Easy}$Linked List,RecursionSolution UsingArray List orReverse Nodes Iteratively
509Fibonacci NumberJava with Dynamic Programming -Tabulation orMemoization$\text{\color{TealBlue}Easy}$Dynamic Programming,Math,Memoization,Recursion

⬆️Back To Top


Simulation

#ProblemSolutionDifficultyTopicsNote
412Fizz BuzzJava$\text{\color{TealBlue}Easy}$Math,Simulation,String
985Sum of Even Numbers After QueriesJava$\text{\color{Dandelion}Medium}$Array,Simulation
1103Distribute Candies to PeopleJava$\text{\color{TealBlue}Easy}$Math,Simulation
1603Design Parking SystemJava$\text{\color{TealBlue}Easy}$Counting,Design,Simulation
1680Concatenation of Consecutive Binary NumbersJava withBit Manipulation orMath$\text{\color{Dandelion}Medium}$Bit Manipulation,Math,Simulation
1920Build Array from PermutationJava$\text{\color{TealBlue}Easy}$Array,Simulation
2028Find Missing ObservationsJava$\text{\color{Dandelion}Medium}$Array,Math,Simulation
2169Count Operations to Obtain ZeroJava$\text{\color{TealBlue}Easy}$Math,Simulation
2352Equal Row and Column PairsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Matrix,Simulation

⬆️Back To Top


Sliding Window

#ProblemSolutionDifficultyTopicsNote
3Longest Substring Without Repeating CharactersJavawith orwithout Hash Table$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String
219Contains Duplicate IIJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Sliding WindowSolution UsingHash Table
220Contains Duplicate IIIJava withSliding Window & Bucket Sort orSliding Window & Ordered Set$\text{\color{Red}Hard}$Array,Bucket Sort,Ordered Set,Sliding Window,SortingSolution UsingSorting
438Find All Anagrams in a StringJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String
567Permutation in StringJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String,Two Pointers
713Subarray Product Less Than KJava$\text{\color{Dandelion}Medium}$Array,Sliding Window
904Fruit Into BasketsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sliding Window

⬆️Back To Top


Sorting

#ProblemSolutionDifficultyTopicsNote
153SumJava$\text{\color{Dandelion}Medium}$Array,Sorting,Two Pointers
163Sum ClosestJava$\text{\color{Dandelion}Medium}$Array,Sorting,Two Pointers
49Group AnagramsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,String
88Merge Sorted ArrayJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two PointersSolution UsingTwo Pointers
169Majority ElementJava$\text{\color{TealBlue}Easy}$Array,Counting,Divide and Conquer,Hash Table,SortingSolution UsingBoyer-Moore Majority Voting Algorithm,Counting & Divide and Conquer orCounting & Hash Table
217Contains DuplicateJava$\text{\color{TealBlue}Easy}$Array,Hash Table,SortingSolution UsingHash Map orHash Set
220Contains Duplicate IIIJava$\text{\color{Red}Hard}$Array,Bucket Sort,Ordered Set,Sliding Window,SortingSolution UsingSliding Window & Bucket Sort orSliding Window & Ordered Set
229Majority Element IIJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,SortingSolution UsingBoyer-Moore Majority Voting Algorithm orCounting & Hash Table
274H-IndexJava withCounting Sort andSorting$\text{\color{TealBlue}Easy}$Array,Counting Sort,Sorting
295Find Median from Data StreamJava withHeap (Priority Queue)$\text{\color{Red}Hard}$Data Stream,Design,Heap (Priority Queue),Sorting,Two PointersUse of Sorting & Two Pointers resulted in TLE (Time Limit Exceed) for large datasets.
414Third Maximum NumberJava$\text{\color{TealBlue}Easy}$Array,SortingSolutionwithout Sorting or UsingHash Table & Priority Queue
561Array PartitionJava withGreedy & Counting Sort orGreedy & Sorting$\text{\color{TealBlue}Easy}$Array,Counting Sort,Greedy,Sorting
645Set MismatchJava$\text{\color{TealBlue}Easy}$Array,Bit Manipulation,Hash Table,SortingSolution UsingBit Manipulation orHash Table
905Sort Array By ParityJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
922Sort Array By Parity IIJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
9233Sum With MultiplicityJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Sorting,Two PointersSolution UsingCountingHash Table
948Bag of TokensJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting,Two Pointers
976Largest Perimeter TriangleJava$\text{\color{TealBlue}Easy}$Array,Greedy,Math,Sorting
977Squares of a Sorted ArrayJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two PointersSolution UsingTwo Pointers
1051Height CheckerJava withCounting Sort orSorting$\text{\color{TealBlue}Easy}$Array,Counting Sort,Sorting
1122Relative Sort ArrayJava$\text{\color{TealBlue}Easy}$Array,Counting Sort,Hash Table,SortingSolution UsingHash Table
1337The K Weakest Rows in a MatrixJava withSorting & Binary Search$\text{\color{TealBlue}Easy}$Array,Binary Search,Heap (Priority Queue),Matrix,SortingSolution UsingLinear Search,Binary Search orHeap (Priority Queue) & Binary Search
1346Check If N and Its Double ExistJava withBinary Search & Sorting$\text{\color{TealBlue}Easy}$Array,Binary Search,Hash Table,Sorting,Two PointersSolution UsingHash Table orTwo Pointers
1636Sort Array by Increasing FrequencyJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Sorting
1657Determine if Two Strings Are CloseJava withSorting orHash Table & Sorting$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting
1679Max Number of K-Sum PairsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,Two PointersSolution UsingHash Table
1833Maximum Ice Cream BarsJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting
1834Single-Threaded CPUJava$\text{\color{Dandelion}Medium}$Array,Heap (Priority Queue),Sorting
2007Find Original Array From Doubled ArrayJava withHash Table orQueue$\text{\color{Dandelion}Medium}$Array,Greedy,Hash Table,SortingSolution UsingCounting Array
2136Earliest Possible Day of Full BloomJava$\text{\color{Red}Hard}$Array,Greedy,Sorting
2279Maximum Bags With Full Capacity of RocksJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting
2389Longest Subsequence With Limited SumJava$\text{\color{TealBlue}Easy}$Array,Binary Search,Greedy,Prefix Sum,Sorting

⬆️Back To Top


Stack

#ProblemSolutionDifficultyTopicsNote
94Binary Tree Inorder TraversalJava$\text{\color{TealBlue}Easy}$Binary Tree,Depth-First Search,Stack,TreeSolution UsingDepth-First Search (Recursive)
114Flatten Binary Tree to Linked ListJava$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Linked List,Stack,TreeSolution UsingDepth-First Search (Recursive)
144Binary Tree Preorder TraversalJava$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,TreeSolution UsingDepth-First Search (Recursive)
145Binary Tree Postorder TraversalJava$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,TreeSolution UsingDepth-First Search (Recursive)
225Implement Stack using QueuesJava$\text{\color{TealBlue}Easy}$Design,Queue,Stack
232Implement Queue using StacksJava$\text{\color{TealBlue}Easy}$Design,Queue,Stack
496Next Greater Element IJava$\text{\color{TealBlue}Easy}$Array,Hash Table,Monotonic Stack,Stack
503Next Greater Element IIJava$\text{\color{Dandelion}Medium}$Array,Monotonic Stack,Stack
1019Next Greater Node In Linked ListJava$\text{\color{Dandelion}Medium}$Array,Linked List,Monotonic Stack,Stack
1047Remove All Adjacent Duplicates In StringJava$\text{\color{TealBlue}Easy}$Stack,StringSolution UsingStringBuilder only
1544Make The String GreatJava$\text{\color{TealBlue}Easy}$Stack,String
2130Maximum Twin Sum of a Linked ListJava withTwo Pointers & Stack$\text{\color{Dandelion}Medium}$Linked List,Stack,Two PointersSolution Usingonly Two Pointers
2454Next Greater Element IVJava$\text{\color{Red}Hard}$Array,Monotonic Stack,Stack

⬆️Back To Top


String

#ProblemSolutionDifficultyTopicsNote
3Longest Substring Without Repeating CharactersJavawith orwithout Hash Table$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String
5Longest Palindromic SubstringJava withDynamic Programming, Two Pointers withApproach 1 orApproach 2$\text{\color{Dandelion}Medium}$Dynamic Programming,String
6Zigzag ConversionJava$\text{\color{Dandelion}Medium}$String
12Integer to RomanJavawith orwithout Hash Table$\text{\color{Dandelion}Medium}$Hash Table,Math,String
13Roman to IntegerJavawith orwithout Hash Table$\text{\color{TealBlue}Easy}$Hash Table,Math,String
38Count and SayJava withIterative orRecursive Algorithms$\text{\color{Dandelion}Medium}$String
49Group AnagramsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,String
151Reverse Words in a StringJava withStringBuilder orCollections Implementations$\text{\color{Dandelion}Medium}$String,Two PointersSolution UsingTwo Pointers
205Isomorphic StringsJava$\text{\color{TealBlue}Easy}$Hash Table,String
257Binary Tree PathsJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Backtracking,Binary Tree,Depth-First Search,String,Tree
290Word PatternJava$\text{\color{TealBlue}Easy}$Hash Table,String
344Reverse StringJava$\text{\color{TealBlue}Easy}$String,Two Pointers
345Reverse Vowels of a StringJava$\text{\color{TealBlue}Easy}$String,Two Pointers
368Largest Divisible SubsetJava$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Math,Sorting
383Ransom NoteJava withCounting Array orHash Table$\text{\color{TealBlue}Easy}$Counting,Hash Table,String
412Fizz BuzzJava$\text{\color{TealBlue}Easy}$Math,Simulation,String
438Find All Anagrams in a StringJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String
520Detect CapitalJava$\text{\color{TealBlue}Easy}$String
541Reverse String IIJava withStringBuilder orTwo Pointers$\text{\color{TealBlue}Easy}$String,Two Pointers
556Next Greater Element IIIJava$\text{\color{Dandelion}Medium}$Math,String,Two Pointers
557Reverse Words in a String IIIJava withString Builder orTwo Pointers$\text{\color{TealBlue}Easy}$String,Two Pointers
567Permutation in StringJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String,Two Pointers
609Find Duplicate File in SystemJava$\text{\color{Dandelion}Medium}$Array,Hash Table,String
929Unique Email AddressesJava$\text{\color{TealBlue}Easy}$Array,Hash Table,String
944Delete Columns to Make SortedJava$\text{\color{TealBlue}Easy}$Array,String
953Verifying an Alien DictionaryJava$\text{\color{TealBlue}Easy}$Array,Hash Table,String
988Smallest String Starting From LeafJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,String,Tree
1047Remove All Adjacent Duplicates In StringJava$\text{\color{TealBlue}Easy}$Stack,StringSolution UsingStack
1061Lexicographically Smallest Equivalent StringJava$\text{\color{Dandelion}Medium}$String,Union Find
1071Greatest Common Divisor of StringsJava$\text{\color{TealBlue}Easy}$Math,String
1154Day of the YearJava$\text{\color{TealBlue}Easy}$Math,String
1239Maximum Length of a Concatenated String with Unique CharactersJava withBacktracking orBit Manipulation$\text{\color{Dandelion}Medium}$Array,Backtracking,Bit Manipulation,String
1328Break a PalindromeJava$\text{\color{Dandelion}Medium}$Greedy,String
1446Consecutive CharactersJava$\text{\color{TealBlue}Easy}$String
1544Make The String GreatJava$\text{\color{TealBlue}Easy}$Stack,String
1578Minimum Time to Make Rope ColorfulJava withDynamic Programming orGreedy$\text{\color{Dandelion}Medium}$Array,Dynamic Programming,Greedy,String
1592Rearrange Spaces Between WordsJava$\text{\color{TealBlue}Easy}$String
1657Determine if Two Strings Are CloseJava withSorting orHash Table & Sorting$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting
1662Check If Two String Arrays are EquivalentJavawith orwithout Pointers$\text{\color{TealBlue}Easy}$Array,String
1704Determine if String Halves Are AlikeJava$\text{\color{TealBlue}Easy}$Counting,String
1832Check if the Sentence is PangramJava$\text{\color{TealBlue}Easy}$Hash Table,StringSolution UsingBit Manipulation ,Counting andHash Table
1869Longer Contiguous Segments of Ones than ZerosJava$\text{\color{TealBlue}Easy}$String
1935Maximum Number of Words You Can TypeJava$\text{\color{TealBlue}Easy}$Hash Table,String
2023Number of Pairs of Strings With Concatenation Equal to TargetJava$\text{\color{Dandelion}Medium}$Array,String
2129Capitalize the TitleJava$\text{\color{TealBlue}Easy}$String
2131Longest Palindrome by Concatenating Two Letter WordsJava withCounting orHash Table$\text{\color{Dandelion}Medium}$Array,Counting,Greedy,Hash Table,String
2315Count AsterisksJava$\text{\color{TealBlue}Easy}$String
2351First Letter to Appear TwiceJava withCounting orHash Table$\text{\color{TealBlue}Easy}$Counting,Hash Table,String
2399Check Distances Between Same LettersJavawithout orwith Hash Table$\text{\color{TealBlue}Easy}$Array,Hash Table,String
2437Number of Valid Clock TimesJava$\text{\color{TealBlue}Easy}$Enumeration,String
2451Odd String DifferenceJavawithout orwith Hash Table$\text{\color{TealBlue}Easy}$Hash Table,Math,String
2452Words Within Two Edits of DictionaryJava$\text{\color{Dandelion}Medium}$Array,String

⬆️Back To Top


Tree

#ProblemSolutionDifficultyTopicsNote
94Binary Tree Inorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Depth-First Search,Stack,Tree
98Validate Binary Search TreeJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Search Tree,Binary Tree,Depth-First Search,Tree
100Same TreeJava withBreadth-First Search orDepth-First Search$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
102Binary Tree Level Order TraversalJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
103Binary Tree Zigzag Level Order TraversalJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
104Maximum Depth of Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
107Binary Tree Level Order Traversal IIJava$\text{\color{Dandelion}Medium}$Binary Search,Breadth-First Search,Tree
110Balanced Binary TreeJava$\text{\color{TealBlue}Easy}$Binary Tree,Depth-First Search,Tree
111Minimum Depth of Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
112Path SumJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
113Path Sum IIJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Backtracking,Binary Tree,Depth-First Search,Tree
114Flatten Binary Tree to Linked ListJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Linked List,Stack,Tree
129Sum Root to Leaf NumbersJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
144Binary Tree Preorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,Tree
145Binary Tree Postorder TraversalJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search,Depth-First Search,Stack,Tree
222Count Complete Tree NodesJava$\text{\color{Dandelion}Medium}$Binary Search,Binary Tree,Depth-First Search,Tree
226Invert Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
257Binary Tree PathsJava with Backtracking andDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Backtracking,Binary Tree,Depth-First Search,String,Tree
404Sum of Left LeavesJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Tree,Breadth-First Search,Depth-First Search,Tree
429N-ary Tree Level Order TraversalJava$\text{\color{Dandelion}Medium}$Breadth-First Search,Tree
437Path Sum IIIJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
559Maximum Depth of Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Breadth-First Search,Depth-First Search,Tree
653Two Sum IV - Input is a BSTJava withBreadth-First Search (with Hash Table),Breadth-First Search (without Hash Table),Depth-First Search (Iterative),Depth-First Search (Recursive),Two Pointers (with Iterative Inorder Traversal) orTwo Pointers (with Recursive Inorder Traversal)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Hash Table,Tree,Two Pointers
783Minimum Distance Between BST NodesJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Tree
988Smallest String Starting From LeafJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,String,Tree
1026Maximum Difference Between Node and AncestorJava withDepth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Depth-First Search,Tree
1457Pseudo-Palindromic Paths in a Binary TreeJava withBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)$\text{\color{Dandelion}Medium}$Binary Tree,Bit Manipulation,Breadth-First Search,Depth-First Search,Tree

⬆️Back To Top


Two Pointers

#ProblemSolutionDifficultyTopicsNote
153SumJava$\text{\color{Dandelion}Medium}$Array,Sorting,Two Pointers
163Sum ClosestJava$\text{\color{Dandelion}Medium}$Array,Sorting,Two Pointers
19Remove Nth Node From End of ListJava withOne Pass orTwo Passes$\text{\color{Dandelion}Medium}$Linked List,Two Pointers
26Remove Duplicates from Sorted ArrayJava$\text{\color{TealBlue}Easy}$Array,Two Pointers
27Remove ElementJava$\text{\color{TealBlue}Easy}$Array,Two Pointers
80Remove Duplicates from Sorted Array IIJava$\text{\color{Dandelion}Medium}$Array,Two Pointers
88Merge Sorted ArrayJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two PointersSolution UsingSorting
151Reverse Words in a StringJava$\text{\color{Dandelion}Medium}$String,Two PointersSolution UsingCollections orStringBuilder
167Two Sum II - Input Array is SortedJava$\text{\color{Dandelion}Medium}$Array,Binary Search,Two PointersSolution UsingBinary Search
283Move ZeroesJava$\text{\color{TealBlue}Easy}$Array,Two Pointers
295Find Median from Data StreamJava withHeap (Priority Queue)$\text{\color{Red}Hard}$Data Stream,Design,Heap (Priority Queue),Sorting,Two PointersUse of Sorting & Two Pointers resulted in TLE (Time Limit Exceed) for large datasets.
344Reverse StringJava$\text{\color{TealBlue}Easy}$String,Two Pointers
345Reverse Vowels of a StringJava$\text{\color{TealBlue}Easy}$String,Two Pointers
541Reverse String IIJava$\text{\color{TealBlue}Easy}$String,Two PointersSolution UsingStringBuilder
556Next Greater Element IIIJava$\text{\color{Dandelion}Medium}$Math,String,Two Pointers
557Reverse Words in a String IIIJava$\text{\color{TealBlue}Easy}$String,Two PointersSolution UsingString Builder
567Permutation in StringJava$\text{\color{Dandelion}Medium}$Hash Table,Sliding Window,String,Two Pointers
653Two Sum IV - Input is a BSTJava withTwo Pointers (with Iterative Inorder Traversal) orTwo Pointers (with Recursive Inorder Traversal)$\text{\color{TealBlue}Easy}$Binary Search Tree,Binary Tree,Breadth-First Search,Depth-First Search,Hash Table,Tree,Two PointersSolution UsingBreadth-First Search (with Hash Table),Breadth-First Search (without Hash Table),Depth-First Search (Iterative) orDepth-First Search (Recursive)
876Middle of the Linked ListJava$\text{\color{TealBlue}Easy}$Linked List,Two Pointers
905Sort Array By ParityJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
922Sort Array By Parity IIJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two Pointers
9233Sum With MultiplicityJava$\text{\color{Dandelion}Medium}$Array,Counting,Hash Table,Sorting,Two PointersSolution UsingCountingHash Table
948Bag of TokensJava$\text{\color{Dandelion}Medium}$Array,Greedy,Sorting,Two Pointers
977Squares of a Sorted ArrayJava$\text{\color{TealBlue}Easy}$Array,Sorting,Two PointersSolution UsingSorting
1089Duplicate ZerosJava$\text{\color{TealBlue}Easy}$Array,Two PointersSolutionWithout Two Pointers
1346Check If N and Its Double ExistJava$\text{\color{TealBlue}Easy}$Array,Binary Search,Hash Table,Sorting,Two PointersSolution UsingBinary Search & Sorting orHash Table
1679Max Number of K-Sum PairsJava$\text{\color{Dandelion}Medium}$Array,Hash Table,Sorting,Two PointersSolution UsingHash Table
2095Delete the Middle Node of a Linked ListJava$\text{\color{Dandelion}Medium}$Linked List,Two Pointers
2130Maximum Twin Sum of a Linked ListJava withTwo Pointers orTwo Pointers & Stack$\text{\color{Dandelion}Medium}$Linked List,Stack,Two Pointers

⬆️Back To Top


Union Find

#ProblemSolutionDifficultyTopicsNote
130Surrounded RegionsJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union FindSolution UsingBreadth-First Search orDepth-First Search
200Number of IslandsJava$\text{\color{Dandelion}Medium}$Array,Breadth-First Search,Depth-First Search,Matrix,Union FindSolution UsingBreadth-First Search orDepth-First Search
1061Lexicographically Smallest Equivalent StringJava$\text{\color{Dandelion}Medium}$String,Union Find
1971Find if Path Exists in GraphJava$\text{\color{TealBlue}Easy}$Breadth-First Search,Depth-First Search,Graph,Union FindSolution UsingBreadth-First Search,Depth-First Search (Iterative) orDepth-First Search (Recursive)

⬆️Back To Top


About

💻 Detailed Explanations for LeetCode Solutions in Java. Updated Daily.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages


[8]ページ先頭

©2009-2025 Movatter.jp