Skip to content
eugene-karandaPublic

About

My LeetCode solutions in Java

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

LeetCode

Tests

My solutions to LeetCode problems in Java.

Structure

Every problem is a single test class in src/test/java/org/overmind, named after the problem:

  • the Javadoc links to the problem and gives a short description;
  • the tests are the examples from the problem statement;
  • the solution is the nested Solution class (or the class the problem asks to design).

Shared helpers live in src/main/java/org/overmind: ListNode and TreeNode with ListNode.of(1, 2, 3) and TreeNode.of(3, 9, 20, null, null, 15, 7) factories that accept the LeetCode notation.

Running the tests

Requires JDK 25.

./gradlew test

Problems

97 of 220 problems solved: 47 easy, 42 medium, 8 hard. Unsolved problems are disabled test classes with a stub solution.

# Problem Difficulty Solution Solved
1 Two Sum Easy TwoSumTest ✅
2 Add Two Numbers Medium AddTwoNumbersTest ✅
3 Longest Substring Without Repeating Characters Medium LongestSubstringWithoutRepeatingCharactersTest ✅
4 Median of Two Sorted Arrays Hard MedianOfTwoSortedArraysTest ✅
5 Longest Palindromic Substring Medium LongestPalindromicSubstringTest ✅
6 Zigzag Conversion Medium ZigzagConversionTest ✅
7 Reverse Integer Medium ReverseIntegerTest ✅
8 String to Integer (atoi) Medium StringToIntegerAtoiTest ✅
9 Palindrome Number Easy PalindromeNumberTest ✅
10 Regular Expression Matching Hard RegularExpressionMatchingTest ✅
11 Container With Most Water Medium ContainerWithMostWaterTest ✅
12 Integer to Roman Medium IntegerToRomanTest ✅
13 Roman to Integer Easy RomanToIntegerTest ✅
14 Longest Common Prefix Easy LongestCommonPrefixTest ✅
15 3Sum Medium ThreeSumTest ✅
16 3Sum Closest Medium ThreeSumClosestTest ✅
17 Letter Combinations of a Phone Number Medium LetterCombinationsOfAPhoneNumberTest ✅
18 4Sum Medium FourSumTest ✅
19 Remove Nth Node From End of List Medium RemoveNthNodeFromEndOfListTest ✅
20 Valid Parentheses Easy ValidParenthesesTest ✅
21 Merge Two Sorted Lists Easy MergeTwoSortedListsTest ✅
22 Generate Parentheses Medium GenerateParenthesesTest ✅
23 Merge k Sorted Lists Hard MergeKSortedListsTest ✅
24 Swap Nodes in Pairs Medium SwapNodesInPairsTest ✅
25 Reverse Nodes in k-Group Hard ReverseKGroupTest ✅
26 Remove Duplicates from Sorted Array Easy RemoveDuplicatesFromSortedArrayTest ✅
27 Remove Element Easy RemoveElementTest ✅
28 Find the Index of the First Occurrence in a String Easy FindTheIndexOfTheFirstOccurrenceInAStringTest ✅
29 Divide Two Integers Medium DivideTwoIntegersTest ✅
30 Substring with Concatenation of All Words Hard SubstringWithConcatenationOfAllWordsTest
31 Next Permutation Medium NextPermutationTest ✅
32 Longest Valid Parentheses Hard LongestValidParenthesesTest
33 Search in Rotated Sorted Array Medium SearchInRotatedSortedArrayTest ✅
34 Find First and Last Position of Element in Sorted Array Medium FindFirstAndLastPositionOfElementInSortedArrayTest
35 Search Insert Position Easy SearchInsertPositionTest
36 Valid Sudoku Medium ValidSudokuTest
37 Sudoku Solver Hard SudokuSolverTest
38 Count and Say Medium CountAndSayTest
39 Combination Sum Medium CombinationSumTest
40 Combination Sum II Medium CombinationSumIITest
41 First Missing Positive Hard FirstMissingPositiveTest
42 Trapping Rain Water Hard TrappingRainWaterTest
43 Multiply Strings Medium MultiplyStringsTest
44 Wildcard Matching Hard WildcardMatchingTest
45 Jump Game II Medium JumpGameIITest ✅
46 Permutations Medium PermutationsTest
47 Permutations II Medium PermutationsIITest
48 Rotate Image Medium RotateImageTest
49 Group Anagrams Medium GroupAnagramsTest ✅
50 Pow(x, n) Medium PowXNTest
51 N-Queens Hard NQueensTest
52 N-Queens II Hard NQueensIITest
53 Maximum Subarray Medium MaximumSubarrayTest ✅
54 Spiral Matrix Medium SpiralMatrixTest ✅
55 Jump Game Medium JumpGameTest ✅
56 Merge Intervals Medium MergeIntervalsTest ✅
57 Insert Interval Medium InsertIntervalTest
58 Length of Last Word Easy LengthOfLastWordTest
59 Spiral Matrix II Medium SpiralMatrixIITest
60 Permutation Sequence Hard PermutationSequenceTest
61 Rotate List Medium RotateListTest
62 Unique Paths Medium UniquePathsTest
63 Unique Paths II Medium UniquePathsIITest
64 Minimum Path Sum Medium MinimumPathSumTest
65 Valid Number Hard ValidNumberTest
66 Plus One Easy PlusOneTest
67 Add Binary Easy AddBinaryTest ✅
68 Text Justification Hard TextJustificationTest
69 Sqrt(x) Easy SqrtXTest
70 Climbing Stairs Easy ClimbingStairsTest
71 Simplify Path Medium SimplifyPathTest
72 Edit Distance Medium EditDistanceTest
73 Set Matrix Zeroes Medium SetMatrixZeroesTest
74 Search a 2D Matrix Medium SearchA2DMatrixTest
75 Sort Colors Medium SortColorsTest
76 Minimum Window Substring Hard MinimumWindowSubstringTest
77 Combinations Medium CombinationsTest
78 Subsets Medium SubsetsTest ✅
79 Word Search Medium WordSearchTest
80 Remove Duplicates from Sorted Array II Medium RemoveDuplicatesFromSortedArrayIITest ✅
81 Search in Rotated Sorted Array II Medium SearchInRotatedSortedArrayIITest
82 Remove Duplicates from Sorted List II Medium RemoveDuplicatesFromSortedListIITest
83 Remove Duplicates from Sorted List Easy RemoveDuplicatesFromSortedListTest
84 Largest Rectangle in Histogram Hard LargestRectangleInHistogramTest ✅
85 Maximal Rectangle Hard MaximalRectangleTest ✅
86 Partition List Medium PartitionListTest
87 Scramble String Hard ScrambleStringTest
88 Merge Sorted Array Easy MergeSortedArrayTest ✅
89 Gray Code Medium GrayCodeTest
90 Subsets II Medium SubsetsIITest
91 Decode Ways Medium DecodeWaysTest
92 Reverse Linked List II Medium ReverseLinkedListIITest
93 Restore IP Addresses Medium RestoreIPAddressesTest
94 Binary Tree Inorder Traversal Easy BinaryTreeInorderTraversalTest ✅
95 Unique Binary Search Trees II Medium UniqueBinarySearchTreesIITest
96 Unique Binary Search Trees Medium UniqueBinarySearchTreesTest
97 Interleaving String Medium InterleavingStringTest
98 Validate Binary Search Tree Medium ValidateBinarySearchTreeTest
99 Recover Binary Search Tree Medium RecoverBinarySearchTreeTest
100 Same Tree Easy SameTreeTest
101 Symmetric Tree Easy SymmetricTreeTest
102 Binary Tree Level Order Traversal Medium BinaryTreeLevelOrderTraversalTest
103 Binary Tree Zigzag Level Order Traversal Medium BinaryTreeZigzagLevelOrderTraversalTest ✅
104 Maximum Depth of Binary Tree Easy MaximumDepthOfBinaryTreeTest ✅
105 Construct Binary Tree from Preorder and Inorder Traversal Medium ConstructBinaryTreeFromPreorderAndInorderTraversalTest ✅
106 Construct Binary Tree from Inorder and Postorder Traversal Medium ConstructBinaryTreeFromInorderAndPostorderTraversalTest
107 Binary Tree Level Order Traversal II Medium BinaryTreeLevelOrderTraversalIITest
108 Convert Sorted Array to Binary Search Tree Easy ConvertSortedArrayToBinarySearchTreeTest
109 Convert Sorted List to Binary Search Tree Medium ConvertSortedListToBinarySearchTreeTest
110 Balanced Binary Tree Easy BalancedBinaryTreeTest
111 Minimum Depth of Binary Tree Easy MinimumDepthOfBinaryTreeTest
112 Path Sum Easy PathSumTest
113 Path Sum II Medium PathSumIITest
114 Flatten Binary Tree to Linked List Medium FlattenBinaryTreeToLinkedListTest
115 Distinct Subsequences Hard DistinctSubsequencesTest
116 Populating Next Right Pointers in Each Node Medium PopulatingNextRightPointersInEachNodeTest
117 Populating Next Right Pointers in Each Node II Medium PopulatingNextRightPointersInEachNodeIITest
118 Pascal's Triangle Easy PascalsTriangleTest ✅
119 Pascal's Triangle II Easy PascalsTriangleIITest
120 Triangle Medium TriangleTest
121 Best Time to Buy and Sell Stock Easy BestTimeToBuyAndSellStockTest
122 Best Time to Buy and Sell Stock II Medium BestTimeToBuyAndSellStockIITest ✅
123 Best Time to Buy and Sell Stock III Hard BestTimeToBuyAndSellStockIIITest
124 Binary Tree Maximum Path Sum Hard BinaryTreeMaximumPathSumTest
125 Valid Palindrome Easy ValidPalindromeTest
126 Word Ladder II Hard WordLadderIITest
127 Word Ladder Hard WordLadderTest
128 Longest Consecutive Sequence Medium LongestConsecutiveSequenceTest
129 Sum Root to Leaf Numbers Medium SumRootToLeafNumbersTest
130 Surrounded Regions Medium SurroundedRegionsTest
131 Palindrome Partitioning Medium PalindromePartitioningTest
132 Palindrome Partitioning II Hard PalindromePartitioningIITest
133 Clone Graph Medium CloneGraphTest
134 Gas Station Medium GasStationTest
135 Candy Hard CandyTest
136 Single Number Easy SingleNumberTest ✅
137 Single Number II Medium SingleNumberIITest
138 Copy List with Random Pointer Medium CopyListWithRandomPointerTest
139 Word Break Medium WordBreakTest
140 Word Break II Hard WordBreakIITest
141 Linked List Cycle Easy LinkedListCycleTest
142 Linked List Cycle II Medium LinkedListCycleIITest
143 Reorder List Medium ReorderListTest
144 Binary Tree Preorder Traversal Easy BinaryTreePreorderTraversalTest
145 Binary Tree Postorder Traversal Easy BinaryTreePostorderTraversalTest
146 LRU Cache Medium LRUCacheTest ✅
147 Insertion Sort List Medium InsertionSortListTest
148 Sort List Medium SortListTest
149 Max Points on a Line Hard MaxPointsOnALineTest
150 Evaluate Reverse Polish Notation Medium EvaluateReversePolishNotationTest
151 Reverse Words in a String Medium ReverseWordsInAStringTest
152 Maximum Product Subarray Medium MaximumProductSubarrayTest
153 Find Minimum in Rotated Sorted Array Medium FindMinimumInRotatedSortedArrayTest
154 Find Minimum in Rotated Sorted Array II Hard FindMinimumInRotatedSortedArrayIITest
155 Min Stack Medium MinStackTest ✅
160 Intersection of Two Linked Lists Easy IntersectionOfTwoLinkedListsTest
162 Find Peak Element Medium FindPeakElementTest
164 Maximum Gap Medium MaximumGapTest
165 Compare Version Numbers Medium CompareVersionNumbersTest
166 Fraction to Recurring Decimal Medium FractionToRecurringDecimalTest
167 Two Sum II - Input Array Is Sorted Medium TwoSumIIInputArrayIsSortedTest
168 Excel Sheet Column Title Easy ExcelSheetColumnTitleTest ✅
169 Majority Element Easy MajorityElementTest ✅
171 Excel Sheet Column Number Easy ExcelSheetColumnNumberTest ✅
172 Factorial Trailing Zeroes Medium FactorialTrailingZeroesTest ✅
173 Binary Search Tree Iterator Medium BinarySearchTreeIteratorTest
174 Dungeon Game Hard DungeonGameTest
179 Largest Number Medium LargestNumberTest
187 Repeated DNA Sequences Medium RepeatedDNASequencesTest
188 Best Time to Buy and Sell Stock IV Hard BestTimeToBuyAndSellStockIVTest
189 Rotate Array Medium RotateArrayTest ✅
190 Reverse Bits Easy ReverseBitsTest
191 Number of 1 Bits Easy NumberOf1BitsTest
198 House Robber Medium HouseRobberTest ✅
199 Binary Tree Right Side View Medium BinaryTreeRightSideViewTest
200 Number of Islands Medium NumberOfIslandsTest ✅
202 Happy Number Easy HappyNumberTest ✅
213 House Robber II Medium HouseRobberIITest ✅
221 Maximal Square Medium MaximalSquareTest ✅
238 Product of Array Except Self Medium ProductOfArrayExceptSelfTest ✅
242 Valid Anagram Easy ValidAnagramTest ✅
283 Move Zeroes Easy MoveZeroesTest ✅
295 Find Median from Data Stream Hard FindMedianFromDataStreamTest ✅
297 Serialize and Deserialize Binary Tree Hard SerializeAndDeserializeBinaryTreeTest ✅
337 House Robber III Medium HouseRobberIIITest ✅
338 Counting Bits Easy CountingBitsTest ✅
344 Reverse String Easy ReverseStringTest ✅
371 Sum of Two Integers Medium SumOfTwoIntegersTest ✅
412 Fizz Buzz Easy FizzBuzzTest ✅
448 Find All Numbers Disappeared in an Array Easy FindAllNumbersDisappearedInAnArrayTest ✅
461 Hamming Distance Easy HammingDistanceTest ✅
485 Max Consecutive Ones Easy MaxConsecutiveOnesTest ✅
496 Next Greater Element I Easy NextGreaterElementITest ✅
509 Fibonacci Number Easy FibonacciNumberTest ✅
525 Contiguous Array Medium ContiguousArrayTest ✅
543 Diameter of Binary Tree Easy DiameterOfBinaryTreeTest ✅
561 Array Partition Easy ArrayPartitionTest ✅
617 Merge Two Binary Trees Easy MergeTwoBinaryTreesTest ✅
645 Set Mismatch Easy SetMismatchTest ✅
657 Robot Return to Origin Easy RobotReturnToOriginTest ✅
718 Maximum Length of Repeated Subarray Medium MaximumLengthOfRepeatedSubarrayTest ✅
728 Self Dividing Numbers Easy SelfDividingNumbersTest ✅
740 Delete and Earn Medium DeleteAndEarnTest ✅
760 Find Anagram Mappings Easy FindAnagramMappingsTest ✅
766 Toeplitz Matrix Easy ToeplitzMatrixTest ✅
844 Backspace String Compare Easy BackspaceStringCompareTest ✅
876 Middle of the Linked List Easy MiddleOfTheLinkedListTest ✅
1025 Divisor Game Easy DivisorGameTest ✅
1028 Recover a Tree From Preorder Traversal Hard RecoverFromPreorderTest
1046 Last Stone Weight Easy LastStoneWeightTest ✅
1114 Print in Order Easy PrintInOrderTest ✅
1115 Print FooBar Alternately Medium PrintFooBarAlternatelyTest ✅
1137 N-th Tribonacci Number Easy NThTribonacciNumberTest ✅
1189 Maximum Number of Balloons Easy MaximumNumberOfBalloonsTest ✅
1365 How Many Numbers Are Smaller Than the Current Number Easy HowManyNumbersAreSmallerThanTheCurrentNumberTest ✅
1426 Counting Elements Easy CountingElementsTest ✅
1470 Shuffle the Array Easy ShuffleTheArrayTest ✅
1475 Final Prices With a Special Discount in a Shop Easy FinalPricesWithASpecialDiscountInAShopTest ✅
1861 Rotating the Box Medium RotatingTheBoxTest ✅
1929 Concatenation of Array Easy ConcatenationOfArrayTest ✅
3863 Minimum Operations to Sort a String Medium MinimumOperationsToSortAStringTest ✅

About

My LeetCode solutions in Java

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages