Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/das-jishu/algoexpert-data-structures-algorithms
A collection of solutions for all problem statements on the AlgoExpert Coding Interview platform.
https://github.com/das-jishu/algoexpert-data-structures-algorithms
algoexpert algoexperts algorithms algorithms-and-data-structures code coding-challenges coding-interviews data-structures interview-preparation interview-questions problem-solving
Last synced: 2 days ago
JSON representation
A collection of solutions for all problem statements on the AlgoExpert Coding Interview platform.
- Host: GitHub
- URL: https://github.com/das-jishu/algoexpert-data-structures-algorithms
- Owner: das-jishu
- License: mit
- Created: 2021-01-02T03:57:02.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-26T04:55:46.000Z (almost 2 years ago)
- Last Synced: 2025-01-11T23:09:45.139Z (9 days ago)
- Topics: algoexpert, algoexperts, algorithms, algorithms-and-data-structures, code, coding-challenges, coding-interviews, data-structures, interview-preparation, interview-questions, problem-solving
- Language: Python
- Homepage: https://github.com/das-jishu/algoexpert-data-structures-algorithms
- Size: 9.17 MB
- Stars: 457
- Watchers: 13
- Forks: 233
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# :star: algo-expert
![AlgoExpert cover image](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Images/algo-expert-cover.png?raw=true)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT "MIT License")
![GitHub repo size](https://img.shields.io/github/repo-size/das-jishu/algoexpert-data-structures-algorithms)
[![Active](http://img.shields.io/badge/Status-Active-green.svg)](https://github.com/das-jishu/algoexpert-data-structures-algorithms)
[![Generic badge](https://img.shields.io/badge/lang-python-yellow.svg)](https://www.python.org/)
[![Generic badge](https://img.shields.io/badge/last%20updated-28--08--2021-pink)](https://github.com/das-jishu/algoexpert-data-structures-algorithms)
**Description:** This is a collection of all [AlgoExpert Coding Interview](https://www.algoexpert.io/questions) questions that are currently available on the platform. There are solutions for each problem statement including time and space complexity. Since AlgoExpert is a paid platform, everyone doesn't have access to it or can't afford to. I hope this helps everyone to access the content and improve their problem solving skills.#
**Solutions:**
The solutions are provided in Python.### ⚡ LIST OF PROBLEMS
⭐ : Coding Interview Problems
#### Difficulty chart:
🟩 : Easy
🟦 : Medium
🟥 : Hard
⬛ : Very Hard| | Problem Statement | Difficulty | Solution |
| :------: | ----------------- | :--------: | -------- |
| :star: | Two Number Sum | 🟩 | [two-number-sum.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/twoNumberSum.py) |
| :star: | Validate Subsequence | 🟩 | [validate-subsequence.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/validate-subsequence.py) |
| :star: | Tournament Winner | 🟩 | [tournament-winner.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/tournament-winner.py) |
| :star: | Non-Constructible Change | 🟩 | [non-constructible-change.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/non-constructible-change.py) |
| :star: | Find Closest Value in BST | 🟩 | [closest-in-BST.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/find-closest-value-in-BST.py) |
| :star: | Branch Sums | 🟩 | [branch-sums.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/branch-sums.py) |
| :star: | Node Depths | 🟩 | [node-depths.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/node-depths.py) |
| :star: | Depth First Search | 🟩 | [depth-first-search.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/depth-first-search.py) |
| :star: | Minimum Waiting Time | 🟩 | [minimum-waiting-time.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/minimum-waiting-time.py) |
| :star: | Class Photos | 🟩 | [class-photos.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/class-photos.py) |
| :star: | Remove Duplicates from Linked List | 🟩 | [remove-duplicates.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/remove-duplicates-from-linked-list.py) |
| :star: | Nth Fibonacci | 🟩 | [nth-fibonacci.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/nth-fibonacci.py) |
| :star: | Validate Subsequence | 🟩 | [validate-subsequence.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/validate-subsequence.py) |
| :star: | Product Sum | 🟩 | [product-sum.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/product-sum.py) |
| :star: | Binary Search | :green_square: | [binary-search.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/binary-search.py) |
| :star: | Find Three Largest Numbers | :green_square: | [find-three-largest-numbers.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/find-three-largest-numbers.py) |
| :star: | Bubble Sort | :green_square: | [bubble-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/bubble-sort.py) |
| :star: | Insertion Sort | :green_square: | [insertion-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/insertion-sort.py) |
| :star: | Selection Sort | :green_square: | [selection-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/selection-sort.py) |
| :star: | Palindrome Check | :green_square: | [palindrome-check.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/palindrome-check.py) |
| :star: | Caesar Cipher Encryptor | :green_square: | [caesar-cipher-encryptor.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/caesar-cipher-encryptor.py) |
| :star: | Run Length Encoding | :green_square: | [run-length-encoding.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/run-length-encoding.py) |
| :star: | Generate Document | :green_square: | [generate-document.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/generate-document.py) |
| :star: | Sorted Square Array | :green_square: | [sorted-square-array.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/sorted-square-array.py) |
| :star: | First Non Repeating Character | :green_square: | [first-non-repeating-character.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/first-non-repeating-character.py) |
| :star: | Tandem Bicycle | :green_square: | [tandem-bicycle.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/tandem-bicycle.py) |
| :star: | Three Number Sum | :blue_square: | [three-number-sum.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/three-number-sum.py) |
| :star: | Smallest Difference | :blue_square: | [smallest-difference.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/smallest-difference.py) |
| :star: | Move Element to End | :blue_square: | [move-element-to-end.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/move-element-to-end.py) |
| :star: | Monotonic Array | :blue_square: | [monotonic-array.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/monotonic-array.py) |
| :star: | Spiral Traverse | :blue_square: | [spiral-traverse.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/spiral-traverse.py) |
| :star: | Longest Peak | :blue_square: | [longest-peak.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/longest-peak.py) |
| :star: | Array of Products | :blue_square: | [array-of-products.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/array-of-products.py) |
| :star: | First Duplicate Value | :blue_square: | [first-duplicate-value.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/first-duplicate-value.py) |
| :star: | Merge Overlapping Intervals | :blue_square: | [merge-overlapping-intervals.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/merge-overlapping-intervals.py) |
| :star: | BST Construction | :blue_square: | [bst-construction.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/bst-construction.py) |
| :star: | Validate BST | :blue_square: | [validate-bst.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/validate-bst.py) |
| :star: | BST Traversal | :blue_square: | [bst-traversal.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/bst-traversal.py) |
| :star: | Min Height BST | :blue_square: | [min-height-bst.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/min-height-BST.py) |
| :star: | Find Kth Largest Value In BST | :blue_square: | [find-kth-largest-value-in-bst.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/find-kth-largest-value-in-bst.py) |
| :star: | Reconstruct BST | :blue_square: | [reconstruct-bst.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/reconstruct-bst.py) |
| :star: | Invert Binary Tree | :blue_square: | [invert-binary-tree.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/invert-binary-tree.py) |
| :star: | Binary Tree Diameter | :blue_square: | [binary-tree-diameter.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/binary-tree-diameter.py) || :star: | Find Successor | :blue_square: | [find-successor.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/find-successor.py) |
| :star: | Height Balanced Binary Tree | :blue_square: | [height-balanced-binary-tree.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/height-balanced-binary-tree.py) |
| :star: | Max Subset Sum No Adjacent | :blue_square: | [max-subset-sum-no-adjacent.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/max-subset-sum-no-adjacent.py) |
| :star: | Number of Ways to Make Change | :blue_square: | [ways-to-make-change.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/ways-to-make-change.py) |
| :star: | Min Number of Coins for Change | :blue_square: | [min-number-of-coins-for-change.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/min-number-of-coins-for-change.py) |
| :star: | Levenshtein Distance | :blue_square: | [levenshtein-distance.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/levenshtein-distance.py) || :star: | Number of Ways to Traverse Graph | :blue_square: | [number-of-ways-to-traverse-graph.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/number-of-ways-to-traverse-graph.py) |
| :star: | Kadane's Algorithm | :blue_square: | [kadane's-algorithm.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/kadane-algorithm.py) |
| :star: | Single Cycle Check | :blue_square: | [single-cycle-check.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/single-cycle-check.py) |
| :star: | Breadth First Search | :blue_square: | [breadth-first-search.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/breadth-first-search.py) || :star: | River Sizes | :blue_square: | [river-sizes.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/river-sizes.py) |
| :star: | Youngest Common Ancestor | :blue_square: | [youngest-common-ancestor.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/youngest-common-ancestor.py) |
| :star: | Remove Islands | :blue_square: | [remove-islands.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/remove-islands.py) |
| :star: | Cycle In Graph | :blue_square: | [cycle-in-graph.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/cycle-in-graph.py) |
| :star: | Minimum Passes of Matrix | :blue_square: | [minimum-passes-of-matrix.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/minimum-passes-of-matrix.py) |
| :star: | Task Assignment | :blue_square: | [task-assignment.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/task-assignment.py) |
| :star: | Valid Starting City | :blue_square: | [valid-starting-city.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/valid-starting-city.py) |
| :star: | Min Heap Construction | :blue_square: | [min-heap-construction.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/min-heap-construction.py) |
| :star: | Linked List Construction | :blue_square: | [linked-list-construction.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/linked-list-construction.py) |
| :star: | Remove Kth Node From End | :blue_square: | [remove-kth-node-from-end.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/remove-kth-node-from-end.py) |
| :star: | Sum of Linked Lists | :blue_square: | [sum-of-linked-lists.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/sum-of-linked-lists.py) |
| :star: | Permutations | :blue_square: | [permutations.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/permutations.py) |
| :star: | Powerset | :blue_square: | [powerset.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/powerset.py) |
| :star: | Phone Number Mnemonics | :blue_square: | [phone-number-mnemonics.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/phone-number-mnemonics.py) |
| :star: | Staircase Traversal | :blue_square: | [staircase-traversal.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/staircase-traversal.py) |
| :star: | Search in Sorted matrix | :blue_square: | [search-in-sorted-matrix.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/search-in-sorted-matrix.py) |
| :star: | Three Number Sort | :blue_square: | [three-number-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/three-number-sort.py) |
| :star: | Min Max Stack construction | :blue_square: | [min-max-stack-construction.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/min-max-stack-construction.py) |
| :star: | Balanced Brackets | :blue_square: | [balanced-brackets.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/balanced-brackets.py) |
| :star: | Sunset Views | :blue_square: | [sunset-views.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/sunset-views.py) |
| :star: | Sort Stack | :blue_square: | [sort-stack.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/sort-stack.py) |
| :star: | Next Greater Element | :blue_square: | [next-greater-element.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/next-greater-element.py) || :star: | Longest Palindromic Substring | :blue_square: | [longest-palindromic-substring.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/longest-palindromic-substring.py) |
| :star: | Group Anagrams | :blue_square: | [group-anagrams.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/group-anagrams.py) |
| :star: | Valid IP Addresses | :blue_square: | [valid-ip-addresses.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/valid-ip-addresses.py) |
| :star: | Reverse Words In String | :blue_square: | [reverse-words-in-string.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/reverse-words-in-string.py) |
| :star: | Minimum Characters For Words | :blue_square: | [minimum-characters-for-words.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/minimum-characters-for-words.py) |
| :star: | Suffix Trie Construction | :blue_square: | [suffix-trie-construction.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Medium/suffix-trie-construction.py) |
| :star: | Four Number Sum | :red_square: | [four-number-sum.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/four-number-sum.py) |
| :star: | Subarray Sort | :red_square: | [subarray-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/subarray-sort.py) |
| :star: | Largest Range | :red_square: | [largest-range.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/largest-range.py) |
| :star: | Min Rewards | :red_square: | [min-rewards.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/min-rewards.py) |
| :star: | Zigzag Traverse | :red_square: | [zigzag-traverse.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/zigzag-traverse.py) |
| :star: | Same bsts | :red_square: | [same-bsts.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/same-bsts.py) |
| :star: | Validate Three Nodes | :red_square: | [validate-three-nodes.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/validate-three-nodes.py) |
| :star: | Max Path Sum In Binary Tree | :red_square: | [max-path-sum-in-binary-tree.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/max-path-sum-binary-trees.py) |
| :star: | Find Nodes Distance K | :red_square: | [find-nodes-distance-k.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/find-nodes-distance-k.py) || :star: | Max Sum Increasing Subsequence | :red_square: | [max-sum-increasing-subsequence.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/max-sum-increasing-subsequence.py) |
| :star: | Longest Common Subsequence | :red_square: | [longest-common-subsequence.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/longest-common-subsequence.py) |
| :star: | Min Number of Jumps | :red_square: | [min-number-of-jumps.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/min-number-of-jumps.py) |
| :star: | Water Area | :red_square: | [water-area.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/water-area.py) |
| :star: | Knapsack Problem | :red_square: | [knapsack-problem.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/knapsack-problem.py) |
| :star: | Disk Stacking | :red_square: | [disk-stacking.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/disk-stacking.py) |
| :star: | Numbers in Pi | :red_square: | [numbers-in-pi.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/numbers-pi.py) |
| :star: | Maximum Sum Submatrix | :red_square: | [maximum-sum-submatrix.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/maximum-sum-submatrix.py) || :star: | Maximize Expression | :red_square: | [maximize-expression.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/maximize-expression.py) |
| :star: | Dijkstra Algorithm | :red_square: | [dijkstra-algorithm.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/dijkstra-algorithm.py) |
| :star: | Topological Sort | :red_square: | [topological-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/topological-sort.py) |
| :star: | Boggle Board | :red_square: | [boggle-board.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/boggle-board.py) |
| :star: | Continuous Median | :red_square: | [continuous-median.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/continuous-median.py) |
| :star: | Sort K Sorted Array | :red_square: | [sort-k-sorted-array.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/sort-k-sorted-array.py) |
| :star: | Laptop Rentals | :red_square: | [laptop-rentals.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/laptop-rentals.py) |
| :star: | Find Loop | :red_square: | [find-loop.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/find-loop.py) |
| :star: | Reverse Linked List | :red_square: | [reverse-linked-list.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/reverse-linked-list.py) |
| :star: | Merge Linked Lists | :red_square: | [merge-linked-lists.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/merge-linked-list.py) |
| :star: | Shift Linked Lists | :red_square: | [shift-linked-lists.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/shift-linked-list.py) |
| :star: | Lowest Common Manager | :red_square: | [lowest-common-manager.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/lowest-common-manager.py) || :star: | Interweaving Strings | :red_square: | [interweaving-strings.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/interweaving-strings.py) |
| :star: | Solve Sudoku | :red_square: | [solve-sudoku.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/solve-sudoku.py) |
| :star: | Generate Div Tags | :red_square: | [generate-div-tags.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/generate-div-tags.py) |
| :star: | Ambiguous Measurements | :red_square: | [ambiguous-measurements.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/ambiguous-measurements.py) |
| :star: | Shifted Binary Search | :red_square: | [shifted-binary-search.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/shifted-binary-search.py) |
| :star: | Search For Range | :red_square: | [search-for-range.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/search-for-range.py) |
| :star: | Quickselect | :red_square: | [quickselect.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/quickselect.py) |
| :star: | Index Equals Value | :red_square: | [index-equals-value.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/index-equals-value.py) |
| :star: | Quick Sort | :red_square: | [quick-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/quick-sort.py) |
| :star: | Heap Sort | :red_square: | [heap-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/heap-sort.py) |
| :star: | Radix Sort | :red_square: | [radix-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/radix-sort.py) |
| :star: | Shorten Path | :red_square: | [shorten-path.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/shorten-path.py) |
| :star: | Largest Rectangle Under Skyline | :red_square: | [largest-rectangle-under-skyline.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/largest-rectangle-under-skyline.py) |
| :star: | Longest Substring Without Duplication | :red_square: | [longest-substring-without-duplication.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/longest-substring-without-duplication.py) |
| :star: | Underscorify Substring | :red_square: | [underscorify-substring.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/underscorify-substring.py) |
| :star: | Pattern Matcher | :red_square: | [pattern-matcher.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/pattern-matcher.py) |
| :star: | Multi String Search | :red_square: | [multi-string-search.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Hard/multi-string-search.py) |
| :star: | Apartment Hunting | :black_large_square: | [apartment-hunting.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/apartment-hunting.py) |
| :star: | Calendar Matching | :black_large_square: | [calendar-matching.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/calendar-matching.py) |
| :star: | Waterfall Streams | :black_large_square: | [waterfall-streams.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/waterfall-streams.py) |
| :star: | Minimum Area Rectangle | :black_large_square: | [minimum-area-rectangle.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/minimum-area-rectangle.py) |
| :star: | Line Through Points | :black_large_square: | [line-through-points.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/line-through-points.py) |
| :star: | Right Smaller Than | :black_large_square: | [right-smaller-than.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/right-smaller-than.py) |
| :star: | Iterative Inorder Traversal | :black_large_square: | [iterative-inorder-traversal.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/iterative-inorder-traversal.py) |
| :star: | Flatten Binary Tree | :black_large_square: | [flatten-binary-tree.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/flatten-binary-tree.py) |
| :star: | Right Sibling Tree | :black_large_square: | [right-sibling-tree.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/right-sibling-tree.py) |
| :star: | All Kinds of Node Depths | :black_large_square: | [all-kinds-of-node-depths.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/all-kinds-of-node-depths.py) |
| :star: | Compare Leaf Traversal | :black_large_square: | [compare-leaf-traversal.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/compare-leaf-traversal.py) |
| :star: | Max Profits With K Transactions | :black_large_square: | [max-profits-with-k-transactions.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/max-profits-with-k-transactions.py) |
| :star: | Palindrome Partitioning Min Cuts | :black_large_square: | [palindrome-partitioning-min-cuts.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/palindrome-partitioning-min-cuts.py) |
| :star: | Longest Increasing Subsequence | :black_large_square: | [longest-increasing-subsequence.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/longest-increasing-subsequence.py) |
| :star: | Longest String Chain | :black_large_square: | [longest-string-chain.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/longest-string-chain.py) |
| :star: | Square Of Zeroes | :black_large_square: | [square-of-zeroes.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/square-of-zeroes.py) || :star: | Knuth Morris Pratt Algorithm | :black_large_square: | [knuth-morris-pratt-algorithm.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/knuth-morris-pratt-algorithm.py) |
| :star: | A Star Algorithm | :black_large_square: | [A-star-algorithm.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/A-star-algorithm.py) || :star: | Rectangle Mania | :black_large_square: | [rectangle-mania.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/rectangle-mania.py) |
| :star: | Detect Arbitrage | :black_large_square: | [detect-arbitrage.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/detect-arbitrage.py) || :star: | Two Edge Connected Graph | :black_large_square: | [two-edge-connected-graph.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/two-edge-connected-graph.py) |
| :star: | Airport Connections | :black_large_square: | [airport-connections.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/airport-connections.py) |
| :star: | Merge Sorted Arrays | :black_large_square: | [merge-sorted-arrays.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/merge-sorted-arrays.py) |
| :star: | LRU Cache | :black_large_square: | [LRU-cache.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/LRU-cache.py) |
| :star: | Rearrange Linked List | :black_large_square: | [rearrange-linked-list.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/rearrange-linked-list.py) |
| :star: | Linked List Palindrome | :black_large_square: | [linked-list-palindrome.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/linked-list-palindrome.py) |
| :star: | Zip Linked List | :black_large_square: | [zip-linked-list.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/zip-linked-list.py) |
| :star: | Node Swap | :black_large_square: | [node-swap.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/node-swap.py) |
| :star: | Number of Binary Tree Topologies | :black_large_square: | [number-of-binary-tree-topologies.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/number-of-binary-tree-topologies.py) |
| :star: | Non Attacking Queens | :black_large_square: | [non-attacking-queens.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/non-attacking-queens.py) |
| :star: | Merge Sort | :black_large_square: | [merge-sort.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/merge-sort.py) |
| :star: | Count Inversions | :black_large_square: | [count-inversions.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/count-inversions.py) || :star: | Smallest Substring Containing | :black_large_square: | [smallest-substring-containing.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/smallest-substring-containing.py) |
| :star: | Longest Balanced Substring | :black_large_square: | [longest-balanced-substring.py](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Very%20Hard/longest-balanced-substring.py) |### :zap: HOW TO
You can visit this page and download the latest Python release version: [Install Python](https://www.python.org/downloads/)
After you complete the download and install, you can run any solution by writing a 'main' section in the file so that the compiler knows the sequence of methods to call when executing the script.For example, in case of '[Two Number Sum](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Easy/twoNumberSum.py)' problem:
```python
if __name__=='__main__':
print(twoNumberSum([1,3,4,5], 7))
```The code can be executed like this:
```bash
python easy/twoNumberSum.py
```
#![Running a code on Python demo](https://github.com/das-jishu/algoexpert-data-structures-algorithms/blob/master/Images/demo.PNG?raw=true)
### :zap: CONTRIBUTE, CONTRIBUTE, CONTRIBUTE!
This is not near to perfect. So please feel free to fork this repo and add any solution in different languages here. You can even add test cases to make this robust. Let's help each other grow! :grinning:
### :zap: EXTRAS
I also have a collection of Leetcode questions that I keep growing. Feel free to visit and have a look. It has more than 200 questions + solutions and also basic concepts grouped by category. 🔽
[Leetcode Material and Basics](https://github.com/das-jishu/python-stuff)