An open API service indexing awesome lists of open source software.

https://github.com/praisepaul/leetcode_challenges


https://github.com/praisepaul/leetcode_challenges

competitive-programming java-8

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# Leetcode Problems Solutions

> **"The only way to do great work is to love what you do."** -Steve Jobs

This repository contains my solutions to various Leetcode problems. Below is a table listing all the problems, along with their tags, difficulty level, and a checkbox for you to mark if you've solved the problem.

Feel free to fork this repository and contribute by adding more problems or improving the existing solutions.

## Problems List

| ID | Title | Tags | Difficulty | Solved | Solution File |
| --- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ---------- | ------------------ | ------------------------------------ |
| 1 | [Two Sum](https://leetcode.com/problems/two-sum/) | Array, Hash Table | Easy | :heavy_check_mark: | [Two Sum.java](./Two_Sum.java) |
| 2 | [Add Two Numbers](https://leetcode.com/problems/add-two-numbers/) | Linked List, Math | Medium | :heavy_check_mark: | [Add 2 Number.java](./Add_to_nums.java) |
| 3 | [Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/) | Hash Table, String, Sliding Window | Medium | :heavy_check_mark: | [Longest Substring Without Repeatition.java](./longestSubstringWithoutRepeatition.java) |
| 4 | [Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/) | Array, Binary Search | Hard | :heavy_check_mark: | [Median Of 2 Sorted Array.java](./medianOf2SortedArray.java) |
| 5 | [Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/) | String, Dynamic Programming | Medium | :x: | [ ](./Solution5.java) |
| 6 | [ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/) | String | Medium | :x: | [ ](./Solution6.java) |
| 7 | [Reverse Integer](https://leetcode.com/problems/reverse-integer/) | Math | Easy | :heavy_check_mark: | [Reverse Integer.java](./reverseInteger.java) |
| 8 | [String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/) | String | Medium | :heavy_check_mark: | [String To Integer.java](./stringToInteger.java) |
| 9 | [Palindrome Number](https://leetcode.com/problems/palindrome-number/) | Math | Easy | :heavy_check_mark: | [Pallindrome Number.java](./pallindromeNum.java) |
| 10 | [Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/) | String, Dynamic Programming | Hard | :x: | [ ](./Solution10.java) |
| 11 | [Container With Most Water](https://leetcode.com/problems/container-with-most-water/) | Array, Two Pointers | Medium | :x: | [ ](./Solution11.java) |
| 12 | [Integer to Roman](https://leetcode.com/problems/integer-to-roman/) | Math | Medium | :heavy_check_mark: | [Integer To Roman.java](./integerToRoman.java) |
| 13 | [Roman to Integer](https://leetcode.com/problems/roman-to-integer/) | Math | Easy | :heavy_check_mark: | [Roman To Integer.java](./romantoInteger.java) |
| 14 | [Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/) | String | Easy | :heavy_check_mark: | [Longest Common Prefix.java](./longestCommonPrefix.java) |
| 15 | [3Sum](https://leetcode.com/problems/3sum/) | Array, Two Pointers | Medium | :x: | [Letter Combination Of Phone Number.java](./letterCombinationOfPhoneNum.java) |
| 16 | [3Sum Closest](https://leetcode.com/problems/3sum-closest/) | Array, Two Pointers | Medium | :x: | [ ](./Solution16.java) |
| 17 | [Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/) | Backtracking, String | Medium | :heavy_check_mark: | [Letter Combination Of Phone Numbers.java](.letterCombinationOfPhoneNum.java) |
| 18 | [4Sum](https://leetcode.com/problems/4sum/) | Array, Two Pointers | Medium | :x: | [ ](./Solution18.java) |
| 19 | [Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/) | Linked List | Medium | :heavy_check_mark: | [Remove Nth Node From End.java](./removeNthNodeFromEnd.java) |
| 20 | [Valid Parentheses](https://leetcode.com/problems/valid-parentheses/) | Stack, String | Easy | :heavy_check_mark: | [Valid Paranthesis.java](./validParanthesis.java) |
| 21 | [Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/) | Linked List | Easy | :heavy_check_mark: | [Merge Two Sorted Lists.java](./mergeTwoSortedLists.java) |
| 22 | [Generate Parentheses](https://leetcode.com/problems/generate-parentheses/) | Backtracking | Medium | :heavy_check_mark: | [Generate Parantheses.java](./generateParantheses.java) |
| 23 | [Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/) | Linked List, Divide and Conquer | Hard | :heavy_check_mark: | [Merge K Sorted Lists.java](./mergeKSortedLists.java) |
| 24 | [Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/) | Linked List | Medium | :x: | [Solution24.java](./Solution24.java) |
| 25 | [Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/) | Linked List | Hard | :heavy_check_mark: | [Reverse Nodes In K Groups.java](./reverseNodesKGroups.java) |
| 26 | [Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/) | Array | Easy | :heavy_check_mark: | [Remove Duplicates From Sorted Array.java](./removeDuplicatesFromSortedArray.java) |
| 27 | [Remove Element](https://leetcode.com/problems/remove-element/) | Array | Easy | :heavy_check_mark: | [Remove Element.java](./removeElement.java) |
| 28 | [Find the Index Of First Occurence In A String](https://leetcode.com/problems/implement-strstr/) | String | Easy | :heavy_check_mark: | [Index Of First Occurence In A String.java](./indexOfFirstOccurenceInAString.java) |
| 29 | [Divide Two Integers](https://leetcode.com/problems/divide-two-integers/) | Math | Medium | :x: | [Solution29.java](./Solution29.java) |
| 30 | [Substring with Concatenation of All Words](https://leetcode.com/problems/substring-with-concatenation-of-all-words/) | Hash Table, String, Sliding Window | Hard | :x: | [Solution30.java](./Solution30.java) |
| 31 | [Next Permutation](https://leetcode.com/problems/next-permutation/) | Array, Two Pointers | Medium | :x: | [Solution31.java](./Solution31.java) |
| 32 | [Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/) | String, Stack | Hard | :heavy_check_mark: | [Longest Valid Parantheses.java](./longestValidParantheses.java) |
| 33 | [Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/) | Array, Binary Search | Medium | :heavy_check_mark: | [Search In Rotated Sorted Array.java](./searchInRotatedSortedArray.java) |
| 34 | [Find First and Last Position of Element in Sorted Array](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/) | Array, Binary Search | Medium | :heavy_check_mark: | [First And Last Position Of Element In Sorted Array.java](./firstAndLastPositionOfElementInSortedArray.java) |
| 35 | [Search Insert Position](https://leetcode.com/problems/search-insert-position/) | Array, Binary Search | Easy | :heavy_check_mark: | [Search Insert Position.java](./searchInsertPosition.java) |
| 36 | [Valid Sudoku](https://leetcode.com/problems/valid-sudoku/) | Array, Hash Table | Medium | :x: | [Solution36.java](./Solution36.java) |
| 37 | [Sudoku Solver](https://leetcode.com/problems/sudoku-solver/) | Backtracking | Hard | :x: | [Solution37.java](./Solution37.java) |
| 38 | [Count and Say](https://leetcode.com/problems/count-and-say/) | String | Easy | :x: | [Solution38.java](./Solution38.java) |
| 39 | [Combination Sum](https://leetcode.com/problems/combination-sum/) | Backtracking | Medium | :x: | [Solution39.java](./Solution39.java) |
| 40 | [Combination Sum II](https://leetcode.com/problems/combination-sum-ii/) | Backtracking | Medium | :x: | [Solution40.java](./Solution40.java) |
| 41 | [First Missing Positive](https://leetcode.com/problems/first-missing-positive/) | Array | Hard | :heavy_check_mark: | [First Missing Positive.java](./firstMissingPositive.java) |
| 42 | [Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/) | Array, Two Pointers | Hard | :heavy_check_mark: | [Trapping Rain Water.java](./trappingRainWater.java) |
| 43 | [Multiply Strings](https://leetcode.com/problems/multiply-strings/) | Math, String | Medium | :x: | [Solution43.java](./Solution43.java) |
| 44 | [Wildcard Matching](https://leetcode.com/problems/wildcard-matching/) | String, Dynamic Programming | Hard | :x: | [Solution44.java](./Solution44.java) |
| 45 | [Jump Game II](https://leetcode.com/problems/jump-game-ii/) | Array, Greedy | Hard | :x: | [Solution45.java](./Solution45.java) |
| 46 | [Permutations](https://leetcode.com/problems/permutations/) | Backtracking | Medium | :x: | [Solution46.java](./Solution46.java) |
| 47 | [Permutations II](https://leetcode.com/problems/permutations-ii/) | Backtracking | Medium | :x: | [Solution47.java](./Solution47.java) |
| 48 | [Rotate Image](https://leetcode.com/problems/rotate-image/) | Array | Medium | :x: | [Solution48.java](./Solution48.java) |
| 49 | [Group Anagrams](https://leetcode.com/problems/group-anagrams/) | Hash Table, String | Medium | :heavy_check_mark: | [Group Anagrams.java](./groupAnagrams.java) |
| 50 | [Pow(x, n)](https://leetcode.com/problems/powx-n/) | Math | Medium | :x: | [Solution50.java](./Solution50.java) |
| 51 | [N-Queens](https://leetcode.com/problems/n-queens/) | Backtracking | Hard | :x: | [Solution51.java](./Solution51.java) |
| 52 | [N-Queens II](https://leetcode.com/problems/n-queens-ii/) | Backtracking | Hard | :x: | [Solution52.java](./Solution52.java) |
| 53 | [Maximum Subarray](https://leetcode.com/problems/maximum-subarray/) | Array, Dynamic Programming | Easy | :x: | [Solution53.java](./Solution53.java) |
| 54 | [Spiral Matrix](https://leetcode.com/problems/spiral-matrix/) | Array | Medium | :x: | [Spiral Matrix.java](./spiralMatrix.java) |
| 55 | [Jump Game](https://leetcode.com/problems/jump-game/) | Array, Greedy | Medium | :x: | [Solution55.java](./Solution55.java) |
| 56 | [Merge Intervals](https://leetcode.com/problems/merge-intervals/) | Array, Sorting | Medium | :x: | [Solution56.java](./Solution56.java) |
| 57 | [Insert Interval](https://leetcode.com/problems/insert-interval/) | Array | Hard | :x: | [Solution57.java](./Solution57.java) |
| 58 | [Length of Last Word](https://leetcode.com/problems/length-of-last-word/) | String | Easy | :heavy_check_mark: | [Length Of Last Word.java](./lengthOfLastWord.java) |
| 59 | [Spiral Matrix II](https://leetcode.com/problems/spiral-matrix-ii/) | Array | Medium | :x: | [Spiral MatrixII.java](./spiralMatrixII.java) |
| 60 | [Permutation Sequence](https://leetcode.com/problems/permutation-sequence/) | Math, Backtracking | Hard | :x: | [Solution60.java](./Solution60.java) |
| 61 | [Rotate List](https://leetcode.com/problems/rotate-list/) | Linked List | Medium | :heavy_check_mark: | [Rotate List.java](./rotateList.java) |
| 62 | [Unique Paths](https://leetcode.com/problems/unique-paths/) | Dynamic Programming | Medium | :x: | [Solution62.java](./Solution62.java) |
| 63 | [Unique Paths II](https://leetcode.com/problems/unique-paths-ii/) | Dynamic Programming | Medium | :x: | [Solution63.java](./Solution63.java) |
| 64 | [Minimum Path Sum](https://leetcode.com/problems/minimum-path-sum/) | Dynamic Programming | Medium | :x: | [Solution64.java](./Solution64.java) |
| 65 | [Valid Number](https://leetcode.com/problems/valid-number/) | String | Hard | :x: | [Solution65.java](./Solution65.java) |
| 66 | [Plus One](https://leetcode.com/problems/plus-one/) | Array | Easy | :heavy_check_mark: | [Plus One.java](./plusOne.java) |
| 67 | [Add Binary](https://leetcode.com/problems/add-binary/) | String, Math | Easy | :heavy_check_mark: | [Add Binary.java](./addBinary.java) |
| 68 | [Text Justification](https://leetcode.com/problems/text-justification/) | String | Hard | :x: | [Solution68.java](./Solution68.java) |
| 69 | [Sqrt(x)](https://leetcode.com/problems/sqrtx/) | Binary Search, Math | Easy | :heavy_check_mark: | [Sqrt Of X.java](./sqrtOfX.java) |
| 70 | [Climbing Stairs](https://leetcode.com/problems/climbing-stairs/) | Dynamic Programming | Easy | :heavy_check_mark: | [Climbing Stairs.java](./climbingStairs.java) |
| 71 | [Simplify Path](https://leetcode.com/problems/simplify-path/) | Stack, String | Medium | :x: | [Solution71.java](./Solution71.java) |
| 72 | [Edit Distance](https://leetcode.com/problems/edit-distance/) | String, Dynamic Programming | Hard | :heavy_check_mark: | [Edit Distance.java](./editDistance.java) |
| 73 | [Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/) | Array | Medium | :x: | [Solution73.java](./Solution73.java) |
| 74 | [Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/) | Array, Binary Search | Medium | :x: | [Solution74.java](./Solution74.java) |
| 75 | [Sort Colors](https://leetcode.com/problems/sort-colors/) | Array, Two Pointers | Medium | :heavy_check_mark: | [Sort Colors.java](./sortColors.java) |
| 76 | [Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/) | Hash Table, String, Sliding Window | Hard | :x: | [Solution76.java](./Solution76.java) |
| 77 | [Combinations](https://leetcode.com/problems/combinations/) | Backtracking | Medium | :x: | [Solution77.java](./Solution77.java) |
| 78 | [Subsets](https://leetcode.com/problems/subsets/) | Backtracking | Medium | :x: | [Solution78.java](./Solution78.java) |
| 79 | [Word Search](https://leetcode.com/problems/word-search/) | Backtracking | Medium | :heavy_check_mark: | [Word Search.java](./wordSearch.java) |
| 80 | [Remove Duplicates from Sorted Array II](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/) | Array | Medium | :x: | [Solution80.java](./Solution80.java) |
| 81 | [Search in Rotated Sorted Array II](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/) | Array | Medium | :x: | [Solution81.java](./Solution81.java) |
| 82 | [Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/) | Linked List | Medium | :x: | [Remove Duplicates From Sorted List.java](./removeDuplicatesFromSortedList.java) |
| 83 | [Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/) | Linked List | Easy | :heavy_check_mark: | [Solution83.java](./Solution83.java) |
| 84 | [Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/) | Array, Stack | Hard | :x: | [Solution84.java](./Solution84.java) |
| 85 | [Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/) | Array, Stack | Hard | :x: | [Solution85.java](./Solution85.java) |
| 86 | [Partition List](https://leetcode.com/problems/partition-list/) | Linked List | Medium | :x: | [Solution86.java](./Solution86.java) |
| 87 | [Scramble String](https://leetcode.com/problems/scramble-string/) | String, Dynamic Programming | Hard | :x: | [Solution87.java](./Solution87.java) |
| 88 | [Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/) | Array | Easy | :heavy_check_mark: | [Merge Sorted List.java](./mergeSortedList.java) |
| 89 | [Gray Code](https://leetcode.com/problems/gray-code/) | Bit Manipulation | Medium | :x: | [Solution89.java](./Solution89.java) |
| 90 | [Subsets II](https://leetcode.com/problems/subsets-ii/) | Backtracking | Medium | :x: | [Solution90.java](./Solution90.java) |
| 91 | [Decode Ways](https://leetcode.com/problems/decode-ways/) | Dynamic Programming | Medium | :x: | [Solution91.java](./Solution91.java) |
| 92 | [Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/) | Linked List | Medium | :x: | [Solution92.java](./Solution92.java) |
| 93 | [Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/) | Backtracking | Medium | :x: | [Solution93.java](./Solution93.java) |
| 94 | [Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/) | Tree, Stack | Easy | :heavy_check_mark: | [Binary Tree InOrder Traversal.java](./binaryTreeInOrderTraversal.java) |
| 95 | [Unique Binary Search Trees II](https://leetcode.com/problems/unique-binary-search-trees-ii/) | Tree, Dynamic Programming | Medium | :x: | [Solution95.java](./Solution95.java) |
| 96 | [Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees/) | Tree, Dynamic Programming | Medium | :x: | [Solution96.java](./Solution96.java) |
| 97 | [Interleaving String](https://leetcode.com/problems/interleaving-string/) | String, Dynamic Programming | Hard | :x: | [Solution97.java](./Solution97.java) |
| 98 | [Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/) | Tree, Depth First Search | Medium | :x: | [Solution98.java](./Solution98.java) |
| 99 | [Recover Binary Search Tree](https://leetcode.com/problems/recover-binary-search-tree/) | Tree, Depth First Search | Hard | :x: | [Solution99.java](./Solution99.java) |
| 100 | [Same Tree](https://leetcode.com/problems/same-tree/) | Tree, Depth First Search, Breadth First Search | Hard | :heavy_check_mark: | [Solution100.java](./Solution100.java) |

| ... | ... | ... | ... | [ ] |

## Usage

1. **Clone the repository:**
```sh
git clone https://github.com/yourusername/leetcode-solutions.git
```
2. **Navigate to the directory:**
```sh
cd leetcode-solutions
```
3. **Create a new branch:**
```sh
git checkout -b new-branch
```
4. **Add your solutions:**
5. **Commit your changes:**
```sh
git commit -am "Added solutions to problem 1 and problem 2"
```
6. **Push to the branch:**
```sh
git push origin new-branch
```
7. **Submit a pull request**
8. **Star the repository**
9. **Relax and wait for your PR to be merged**
10. **Celebrate - you've done your part! 🎉**