Skip to content

My leetcode implementations using Object Oriented Design

License

Notifications You must be signed in to change notification settings

strogiyotec/leetcode-oo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leetcode-oo

Leetcode solutions written in Java

Introduction

This repository contains a list of leetcode solutions.

Table of problems with solutions

# Title Solution Difficulty
1 Two Sum Java Easy
3 Longest Substring Without Repeating Characters Java Medium
5 Longest Palindromic Substring Java Medium
11 Container With Most Water Java Medium
14 Longest Common Prefix Java Easy
15 3Sum Java Medium
16 3Sum Closest Java Medium
17 Letter Combinations of a Phone Number Java Medium
19 Remove Nth Node From End of List Java Medium
20 Valid Parentheses Java Easy
21 Merge Two Sorted Lists Java Easy
22 Generate Parentheses Java Medium
23 Merge k Sorted Lists Java Hard
24 Swap Nodes In Pairs Java Medium
25 Reverse K Groups Java Hard
26 Remove Duplicates from Sorted Array Java Easy
27 Remove element Java Easy
28 StrStr Java Easy
30 Substring with Concatenation of All Words Java Hard
32 Longest Valid Parentheses Java Hard
32 Search In rotated Array Java Medium
34 Find First and Last Position of Element in Sorted Array Java Medium
40 Combination Sum 2 Java Medium
41 First Missing positive Java Hard
45 Jump Game 2 Java Hard
46 Permutations Java Medium
48 Ratate Image Java Medium
49 Group Anagrams Java Medium
51 M-Queens Java Hard
52 Maximum Subarray Java Easy
55 Jump Game Java Medium
56 Merge Intervals Java Medium
57 Insert interval Java Medium
61 Rotate List Java Medium
62 Unique Paths Java Medium
63 Unique Paths 2 Java Medium
64 Minimum Path Sum Java Medium
66 Plus one Java Easy
70 Climbing Stairs Java Easy
71 Simplify Path Java Medium
72 Edit Distance Java Hard
73 Set Matrix Zeroes Java Medium
74 Search a 2D Matrix Java Medium
75 Sort colors Java Medium
76 Minimum Window Substring Java Hard
77 Combinations Java Medium
78 Subsets Java Medium
79 Word Search Java Medium
80 Remove Duplicates from Sorted Array II Java Medium
83 Remove Duplicates from Sorted List Java Easy
86 Partition List Java Medium
90 Subsets2 Java Medium
91 Decode Ways Java Medium
92 Reverse Linked List 2 Java Medium
93 Restore IP Address Java Medium
94 Binary Tree Inorder Traversal Java Medium
95 Unique Binary Search Trees II Java Medium
96 Unique Binary Search Trees Java Medium
97 Interleaving String Java Hard
98 Validate Binary Search Tree Java Medium
99 Recover Binary tree Java Medium
101 Symmetric Trees Java Easy
102 Binary Tree Level Order Traversal Java Medium
104 Maximum Depth of Binary Tree Java Easy
105 From Preorder and InOrder tree Java Medium
106 Tree from Inorder and Post order Java Medium
107 Binary Tree Level Order Traversal Java Medium
108 Sorted Array to Tree Java Easy
109 Convert sorted list to Binary Search tree Java Medium
110 Balanced binary tree Java Easy
111 Min depth of binary tree Java Easy
112 Path Sum Java Easy
113 Path Sum 2 Java Medium
114 Flatten Binary Tree to Linked List Java Medium
115 Distinct Subsequences Java Hard
116 Populating Next Right Pointers in Each Node Java Medium
120 Triangle Java Medium
121 Best Time to Buy and Sell Stock Java Easy
123 Best Time to Buy and Sell Stock 3 Java Hard
124 Binary Tree Maximum Path Sum Java Hard
125 Valid Palindrome Java Easy
127 Word Ladder Java Medium
128 Longest Consecutive sequence Java Hard
129 Sum Root to Leaf Numbers Java Medium
130 Surrounded Regions Java Medium
131 Palindrome Partition Java Medium
133 Clone Graph Java Medium
135 Candies Java Hard
139 Word Break Java Medium
140 Word Break 2 Java Hard
141 Linked List has cycles Java Easy
143 Reorder list Java Medium
146 LRU Cache Java Medium
148 Sort list Java Medium
155 Min Stack Java Easy
160 Intersection of Two Linked Lists Java Easy
165 Compare Revision Number Java Medium
167 Two Sum II - Input array is sorted Java Easy
168 Excel Sheet Column Java Easy
169 Majority element Java Easy
173 BST iterator Java Medium
178 Graph Valid Tree Java Medium
187 DNA Sequence Java Medium
188 Best Time to Buy and Sell Stock IV Java Hard
189 Rotate Array Java Medium
198 House Robber Java Easy
199 Binary tree right view Java Medium
200 Number of Islands Java Medium
203 Remove element from Linked List Java Easy
205 Isomorphic string Java Easy
206 Reverse Linked List Java Easy
207 Course Schedule Java Medium
208 Trie Java Medium
209 Minimum Size Subarray Sum Java Medium
210 Course Schedule 2 Java Hard
211 Design Word Dictiomary Java Medium
212 Word Search 2 Java Hard
215 Kth Largest element in the array Java Medium
221 Maximum Square Java Medium
222 Count Nodes In Complete Binary Tree Java Medium
226 Invert Tree Java Easy
228 Summary ranges Java Easy
230 Kth Smallest Element in a BST Java Medium
234 Palindrome Linked List Java Easy
235 Lowest Common Ancestor of a Binary Search Tree Java Easy
236 Lowest Common Ancestor of a Binary Tree Java Medium
239 Sliding Window Maximum Java Hard
241 Different Ways to Split Parenthesis Java Medium
257 Binary Tree Paths Java Easy
268 Missing number Java Easy
273 Integer to English Java Hard
274 H-Index Java Medium
283 Move zeroes Java Easy
290 Word Pattern Java Easy
297 Serialize and Deserialize Binary Tree Java Hard
298 BINARY TREE LONGEST CONSECUTIVE SEQUENCE Java Medium
300 Longest Increasing Subsequence Java Medium
301 Remove Invalid Parentheses Java Hard
307 Range sum query Mutable Java Medium
309 Buy Sell stocks cooldown Java Medium
315 Count of Smaller Numbers After Self Java Hard
316 Remove duplicate Letters Java Medium
318 Max Product Of Word Lengths Java Medium
322 Coin Change Java Medium
324 Wiggle Sort 2 Java Medium
328 Odd Even Linked List Java Medium
329 Longest Increasing Sequence Java Hard
332 Reconstruct Itinerary Java Medium
337 House Robber 3 Java Medium
341 Flatten Nested Iterator Java Medium
344 Reverse String Java Easy
347 Top k elements Java Medium
349 Intersection of Two Arrays Java Easy
350 Intersection of Two Arrays II Java Easy
368 Largest Divisible subset Java Medium
378 Kth smallest elem in sorted matrix Java Medium
383 Ransom Note Java Easy
386 Lexigraphical Numbers Java Medium
387 First unique character Java Easy
392 Is sequence Java Easy
394 Decode String Java Medium
395 Longest Substring with At Least K Repeating Characters Java Medium
399 Evaluate Division Java Medium
406 Queue reconstruction Java Medium
409 Longest Palindrome Java Easy
410 Split Array Largest Sum Java Hard
414 Third Largest Java Easy
416 Partition Equal Subset Sum Java Medium
417 Pacific Atlantic Water Flow Java Medium
424 Longest Repeating Character Replacement Java Medium
433 Minimum Genetic Mutation Java Medium
435 Non-overlapping Intervals Java Medium
437 Path Sum 3 Java Medium
438 String Anagrams Java Medium
442 Find Duplicates in the array Java Medium
443 String Compression Java Easy
448 Find All Numbers Disappeared in an Array Java Easy
449 Serialize Binary Search Tree Java Medium
453 Minimum moves to Equal Array Elements Java Easy
457 Circular Array Loop Java Medium
459 Repeated Substring Pattern Java Easy
472 Concatenated words Java Hard
474 Ones And Zeroes Java Medium
475 Heaters Java Medium
486 Predict The Winner Java Medium
491 Increasing subsequences Java Medium
501 Find Mode in Binary Search Tree Java Easy
503 Next Greater Element II Java Medium
508 Most Frequent Subtree Sum Java Medium
515 Find Largest Value in Each Tree Row Java Medium
516 Longest Palindrome Subsequence Java Medium
518 Coin Change 2 Java Medium
520 Detect Capital Java Easy
524 Longest Word by deleting Java Medium
525 Contiguous array Java Medium
528 Random Pick with Height Java Medium
538 Convert BST to Greater Tree Java Easy
542 Matrix 01 Java Medium
543 Tree Diameter Java Easy
547 Number of Provinces Java Medium
559 Maximum Depth of N-ary Tree Java Easy
560 Subarray sum equals Java Medium
561 Array Partition I Java Easy
562 Min Moves to Equal array elements II Java Medium
563 Tree tilt Java Easy
565 Array Nesting Java Medium
572 Subtree of another Tree Java Easy
575 Distribute Candies Java Easy
581 Shortest Unsorted Continuous Array Java Medium
583 Delete Operation for Two Strings Java Medium
590 N-ary Tree Postorder traversal Java Easy
599 Min Index Sum of Two Lists Java Easy
605 Can place flowers Java Easy
606 Construct string from binary tree Java Easy
609 Find Duplicate Files Java Medium
617 Merge Two Binary Trees Java Easy
621 Task Scheduler Java Medium
623 Add Row to Binary tree Java Medium
628 Max Product of Three Numbers Java Easy
632 Smallest Range Java Hard
637 Average of Levels in Binary Tree Java Easy
643 Maximum Average SumArray 1 Java Easy
646 Max Length of Pair Chain Java Medium
647 Palindrome substrings Java Medium
648 Replace Words Java Medium
652 Find Duplicate Subtrees Java Medium
653 Two Sum IV - Input is a BST Java Easy
654 Maximum Binary tree Java Medium
657 Robot returns to origin Java Easy
658 Find K Closest Java Medium
659 Split Array Into consecutive sequences Java Medium
662 Max Width Tree Java Medium
669 Trim a binary tree Java Medium
671 Second Min Node in Tree Java Easy
673 Number of Longest Increasing Subsequence Java Medium
675 Cut Off Trees Java Hard
676 Magic Dictionary Java Medium
678 Valid Parenthesis in String Java Medium
680 Valid Palindrome II Java Easy
684 Redundant Connection Java Medium
687 Longest Univalue Path Java Medium
692 Top K Frequent Words Java Medium
695 Max Area Of Islands Java Medium
698 Partition to K Equal Sum Java Medium
699 Falling Squares Java Hard
703 Kth largest Java Easy
704 Binary Search Java Easy
710 Black list Java Hard
713 Subarray Product Less Than K Java Medium
718 Maximum Length of Repeated Subarray Java Medium
719 Find Kth Smallest Distance Java Hard
720 Longest Word In Dictionary Java Medium
721 Merge Accounts Java Medium
725 Split Linked List Java Medium
735 Asteroids Collision Java Medium
739 Daily Temperatures Java Medium
740 Delete And Earn Java Medium
741 Pickup Cherry Java Hard
746 Min cost climbing Java Easy
747 Largest Number At Least Twice Of Others Java Easy
752 Open the Lock Java Medium
756 Pyramid Transition Matrix Java Medium
763 Partition Labels Java Medium
764 Largest Plus Sign Java Medium
767 Reorganize string Java Medium
769 Max Chunks to make sorted Java Medium
775 Global and Local inversions Java Medium
778 Swim In Rising Water Java Hard
784 Letter case permutations Java Medium
785 Is Graph Bipart Java Medium
787 Cheapest flight with K stops Java Medium
791 Custom Sort String Java Medium
792 Matching Subsequences Java Medium
797 All Paths From Source to Target Java Medium
807 Max Increase city skyline Java Medium
814 Prune binary tree Java Medium
815 Bus Routes Java Hard
819 Most Common Word Java Easy
820 Short Encoding of Words Java Medium
826 Most Profit Assigning Work Java Medium
827 Making a large Island Java Hard
830 Positions Of Large Groups Java Easy
832 FLipping image Java Easy
834 Sum Of Distances in tree Java Hard
839 Similar String Groups Java Hard
841 Keys and Rooms Java Medium
843 Guess the word Java Hard
844 Backspace String Compare Java Easy
851 Loud And Rich Java Medium
853 Car Fleet Java Medium
856 Deepst Node in Subtree Java Medium
857 Min Cost to hire Worker Java Hard
859 Buddy Strings Java Easy
860 Lemonade Change Java Easy
863 All Nodes Distance K Java Medium
867 Transpose Matrix Java Easy
870 Advantage Shuffle Java Medium
875 Koko eating bananas Java Medium
876 Middle of the Linked List Java Easy
880 Decode String at Index Java Medium
881 Boats To Save people Java Medium
884 Uncommon Words Java Easy
886 Possible Bipartition Java Medium
894 All Possible Full Binary Trees Java Medium
899 Orderly queue Java Hard
902 Numbers At Most N Digits Java Hard
917 Reverse Only Letters Java Easy
918 Max Sum Circular Array Java Medium
926 Flip String Java Medium
929 Unique Emails Java Easy
930 Binary Subarray with Sum Java Medium
931 Minimum Falling Path Sum Java Medium
934 Shortest Bridge Java Medium
937 Reorder Data in Log files Java Easy
938 Range sum of Bst Java Easy
939 Min Area Rectangle Java Medium
940 Distinct Subsequences II Java Hard
941 Valid Mountain Array Java Easy
946 Validate Stack Java Medium
947 Most Stones Java Medium
951 Flip Equivalent Binary Trees Java Medium
953 Alien dictionary Java Easy
958 Check binary tree completeness Java Medium
967 Number with Same Consecutive Differences Java Medium
968 Binary Tree Cameras Java Hard
973 K Closest Points to Origin Java Medium
977 Squares of a Sorted Array Java Easy
979 Distribute coins in binary tree Java Medium
980 Unique Path 3 Java Hard
983 Minimum Cost for Tickets Java Medium
984 String Without AAA or BBB Java Medium
985 Sum Of Even Numbers After Queries Java Easy
986 Interval List Intersections Java Medium
988 Smallest String Starting From Leaf Java Medium
990 Satisfy Equality Java Medium
993 Cousins in Binary tree Java Easy
994 Rotting Oranges Java Medium
1002 Find common characters Java Easy
1004 Max Consecutive Ones III Java Medium
1007 Minimum Domino Rotations For Equal Row Java Medium
1010 Pair of Songs Java Medium
1011 Capacity to Ship D packages Java Medium
1013 Partition array three parts Java Easy
1020 Number Of Enclaves Java Medium
1023 Camel Case matching Java Medium
1024 Video Stitching Java Medium
1026 Max diff between node and ancestors Java Medium
1028 Recover tree from Preorder Java Hard
1031 Max Sum of Two Non-Overlapping subarrays Java Medium
1041 Robot Bounded In Circle Java Medium
1042 Flower Planting Java Medium
1043 Partition Array for Maximum Sum Java Medium
1047 Remove All Adjacnet Duplicates in String Java Easy
1048 Longest String Chain Java Medium
1054 Distance Barcodes Java Medium
1079 Letter Tile Possibilities Java Medium
1089 Duplicate Zeros Java Easy
1091 Shortest Path in Binary Matrix Java Medium
1092 Shortest Common Supersequence Java Hard
1094 Car Pooling Java Medium
1109 Corporate Flights Java Medium
1110 Delete nodes and return forest Java Medium
1122 Relative order array Java Easy
1143 Longest Common Subsequence Java Medium
1145 Binary Tree Coloring Game Java Medium
1160 Find Words That Can Be Formed by Characters Java Easy
1161 Maximum Level Sum of a Binary Tree Java Medium
1162 As Far from land as possible Java Medium
1170 Compare Strings Frequency Java Medium
1202 Smallest string with swaps Java Medium
1208 Get Equals substring length by budget Java Medium
1209 Remove adjacent Duplicates II Java Medium
1218 Longest Arithmetic Sequence Java Medium
1249 Minimum Remove to make a valid parenthesis Java Medium
1253 Reconstruct Matrix Java Medium
1254 Number of Closed Islands Java Medium
1262 Greatest Sum Div by Three Java Medium
1267 Count Servers that communicate Java Medium
1277 Count Square submatrixes with all ones Java Medium
1288 Remove covered intervals Java Medium
1296 Divide array into K sets Java Medium
1297 Maximum Length Of a concatenated string with unique characters Java Medium
1299 Replace element with greatest Java Easy
1304 Sum Up to zero Java Easy
1305 All Elements In Two Binary Search Tree Java Medium
1319 Number of operations to make graph connected Java Medium
1329 Sort the matrix diagonally Java Medium
1335 Min Job difficulty Java Hard
1337 Weakest Rows In Matrix Java Easy
1338 Reduce array size by half Java Medium
1339 Max Product Of Splitted Tree Java Medium
1346 N and Double exist Java Easy
1351 Count negative in a Matrix Java Easy
1353 Number Of Events To Attend Java Medium
1361 Validate Binary Tree Nodes Java Medium
1365 How Many Numbers Are Smaller Than the Current Number Java Easy
1366 Rank Teams Java Medium
1367 Linked List In Binary Tree Java Medium
1372 Longest Zig Zag tree Java Medium
1376 Time needed to inform all employees Java Medium
1377 Frog Position after T seconds Java Hard
1380 Lucky Number Java Easy
1382 Balance Binary Search tree Java Medium
1383 Maximum Performance of a team Java Hard
1395 Count Number Of Teams Java Medium
1406 Stone Game 3 Java Hard
1409 Queries on a Permutation Java Medium
1419 Croaking Java Medium
1423 Max Points Obtain from Cards Java Medium
1431 Kids with greatest candies Java Easy
1433 Check if string can break another Java Medium
1437 Check distance at least K Java Easy
1443 Minimum time to collect apples in a tree Java Medium
1448 Count good nodes in binary tree Java Medium
1462 Course Schedule 4 Java Medium
1464 Max product of Two elements in an array Java Easy
1465 Max aread of Cake after cut Java Medium
1466 Reourder Routes Java Medium
1470 Shuffle the Array Java Easy
1471 K strongest values Java Medium
1472 Design Browser History Java Medium
1475 Final Prices with a Special Discount Java Easy
1480 Running sum Java Easy
1481 Least Number of Unique Integers after K removal Java Medium
1482 Min number of days to make bouquets Java Medium
1488 Avoid Flood in the city Java Medium
1504 Count Submatrices Java Medium
1509 Min Diff Between min and max in three moves Java Medium
1512 Good Pairs Java Easy
1514 Path With Max Prob Java Medium
1524 Number of Sub arrays with odd sum Java Medium
1530 Number of Good leaf pairs Java Medium
1535 Find winner of array game Java Medium
1536 Min swap to arrange a binary grid Java Medium
1537 Get Max Score Java Hard
1539 Kth missing positive number Java Easy
1550 Three consecuve odds Java Easy
1557 Minimum number of vertices to reach all nodes Java Medium
1558 Min Number of Function calls Java Medium
1559 Detect cycles Java Hard
1572 Matrix Diagonal Tree Java Easy
1574 Shortest Subarray remove to make array sorted Java Medium
1575 Count all routes Java Hard
1576 Replace All ?'s to Avoid Consecutive Repeating Characters Java Easy
1577 Number of Ways Square Equals to Product Java Medium
1578 Min deletion cost to avoid repeating characters Java Medium
1582 Special position matrix Java Easy
1584 Min Cost connect points Java Medium
1588 Sum Of All Odd Length Array Java Easy
1593 Split a String Into the Max Number of Unique Substrings Java Medium
1594 Max Non Negative Product Java Medium
1598 Crawler Log Java Easy
1605 Find Valid Matrix Given Sum Java Medium
1608 Special Array With X Elements Java Easy
1609 Even Odd Tree Java Medium
1619 Mean of Array after removal Java Easy
1624 Largest Substring Between Equal Characters Java Easy
1631 Path With Minimum Effort Java Medium
1647 Minimum Deletions to Make Character Frequencies Unique Java Medium
1648 Sell Diminishing Colored Balls Java Medium
1654 Minimum Jump to Reach Home Java Medium
1658 Minimum Operations to Reduce X to Zero Java Medium
1664 Ways to make a fair array Java Medium
1670 Design Front Back Middle Queue Java Medium
1672 Richest Customer Java Easy
1685 Sum Of Absolute Differences in a Sorted Array Java Medium
1690 Stone Game 7 Java Medium
1691 Maximum Height by Stacking Cuboids Java Hard
1695 Max Erasure Java Medium
1700 Number of Students unable to eat lunch Java Easy
1701 Average waiting time Java Medium
1710 Max Units on a track Java Easy
1712 Ways to split array into three Java Medium
1716 Money in bank Java Easy
1721 Swapping Nodes In LinkedList Java Medium
1723 Find Min Time to Finish All Jobs Java Hard
1725 Find All Rectangle Squares Java Easy
1726 Tuples with same product Java Medium
1765 Map Highest Tree Java Medium
1770 Max Score performing operations Java Medium
1772 Min Hamming distance Java Medium
1774 Closest Desert Cost Java Medium
1779 Find Nearest point Java Easy
1781 Sum Of beauty of All Substrings Java Medium
1786 Number Of Restricted Paths Java Medium
1796 Second Largest Digit Java Easy
1807 Evaluate the Bracket Pairs Of a String Java Medium
1812 Square is white Java Easy
1817 Find users active minutes Java Medium
1823 Winner of cirtular game Java Medium
1824 Min Sideway Jump Java Medium
1827 Make array increasing Java Easy
1834 Single Threaded CPU Java Medium
1839 Longest Substring of All Vowels Java Medium
1847 Closest Room Java Hard
1851 Min Interval to include all queries Java Hard
1854 Max population year Java Easy
1855 Distance Between two points Java Medium
1887 Reducation Operation 01 Java Medium
1888 Flips String ALteranating Java Medium
1894 Find student who will replace the Chalk Java Medium
1905 Count sub islands Java Medium
1962 Remove Stones Java Medium
1968 Array With Elements Not Equal Neighbours Java Easy
1971 Find Path Exists Java Easy
1976 Number of Ways to Arrive as Destination Java Medium
1992 Find all Groups FarmLand Java Medium
2008 Max profit Taxi Java Medium
2009 Min number of operations to make array contiguous Java Hard
2014 Longest subsequence reapeated k times Java Hard
2076 Process restricted friends Java Hard
2101 Detonate the Max Bombs Java Medium

Introduction to Algorithms problems

Here is the list of solution for problems from Introduction for Algorithms book by Thomas H. Cormen

  1. Activity selection problem
  2. Huffman code ,

About

My leetcode implementations using Object Oriented Design

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages