{"id":13595525,"url":"https://github.com/SamirPaulb/DSAlgo","last_synced_at":"2025-04-09T13:32:26.502Z","repository":{"id":37240371,"uuid":"429315948","full_name":"SamirPaulb/DSAlgo","owner":"SamirPaulb","description":"📚A repository that contains all the Data Structures and Algorithms concepts and solutions to various problems in Python3 stored in a structured manner.👨‍💻🎯","archived":false,"fork":false,"pushed_at":"2025-02-16T08:47:33.000Z","size":202823,"stargazers_count":2225,"open_issues_count":2,"forks_count":505,"subscribers_count":31,"default_branch":"main","last_synced_at":"2025-04-03T10:40:28.119Z","etag":null,"topics":["algorithm","algorithms","coding-interviews","competitive-programming","computer-science","data-structures","data-structures-and-algorithms","dsa","dsalgo","dynamic-programming","faang","geeksforgeeks","hacktoberfest","interview","interview-preparation","interview-questions","leetcode","leetcode-solutions","problem-solving","python"],"latest_commit_sha":null,"homepage":"https://samirpaulb.github.io/DSAlgo","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SamirPaulb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-18T06:07:17.000Z","updated_at":"2025-04-01T16:35:50.000Z","dependencies_parsed_at":"2022-07-12T16:14:43.872Z","dependency_job_id":"37649cf3-0899-45c1-93fd-58638e6ef9e3","html_url":"https://github.com/SamirPaulb/DSAlgo","commit_stats":null,"previous_names":["samirpaul1/dsalgo"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamirPaulb%2FDSAlgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamirPaulb%2FDSAlgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamirPaulb%2FDSAlgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamirPaulb%2FDSAlgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamirPaulb","download_url":"https://codeload.github.com/SamirPaulb/DSAlgo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049450,"owners_count":21039220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","algorithms","coding-interviews","competitive-programming","computer-science","data-structures","data-structures-and-algorithms","dsa","dsalgo","dynamic-programming","faang","geeksforgeeks","hacktoberfest","interview","interview-preparation","interview-questions","leetcode","leetcode-solutions","problem-solving","python"],"created_at":"2024-08-01T16:01:51.778Z","updated_at":"2025-04-09T13:32:26.494Z","avatar_url":"https://github.com/SamirPaulb.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003eData Structures \u0026 Algorithms for Coding Interview\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"#\"\u003e  \n\u003cimg alt=\"Stars\" src=\"https://img.shields.io/github/stars/SamirPaulb/DSAlgo\"\u003e \n\u003cimg alt=\"Forks\" src=\"https://img.shields.io/github/forks/SamirPaulb/DSAlgo\"\u003e \n\u003cimg alt=\"Size\" src=\"https://img.shields.io/github/repo-size/SamirPaulb/DSAlgo\"\u003e \n\u003cimg alt=\"Hits\" src=\"https://hitsofcode.com/github/SamirPaulb/DSAlgo?branch=main\"\u003e\n\u003cimg alt=\"language\" src=\"https://github.com/SamirPaulb/DSAlgo/assets/77569653/030fb10d-3def-4a4c-8beb-2eb9b111c1fb\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e  \n\n\u003cb\u003e\u003ci\u003eIf you appreciate my work, please\u003c/i\u003e\u003c/b\u003e 🌟 \u003cb\u003e\u003ci\u003ethis repository. It motivates me. 🚀🚀\u003c/i\u003e\u003c/b\u003e\n\u003c/div\u003e\n\n\u003ca href=\"#\"\u003e\u003cimg width=\"1188\" alt=\"DSA banner\" src=\"https://scdn.netlify.app/dsa-in-python.jpg\"\u003e\u003c/a\u003e\n\nIn this repository, I have stored solutions to various problems and concepts of **Data Structures and Algorithms** in Python3 in a structured manner.✨\n\n:heavy_check_mark:  \u003cins\u003e_**Topics Covered**_\u003c/ins\u003e:\n- [x]  [**LeetCode All Problems Solutions**](https://github.com/SamirPaulb/DSAlgo/tree/main/01_LeetCode)\n- [x]  [**Dynamic Programming**](https://github.com/SamirPaulb/DSAlgo/tree/main/02_Dynamic-Programming)\n- [x]  [**Sorting Algorithms**](https://github.com/SamirPaulb/DSAlgo/tree/main/03_Sorting-Algorithms)\n- [x]  [**LinkedList**](https://github.com/SamirPaulb/DSAlgo/tree/main/04_LinkedList)\n- [x]  [**Object-Oriented Programming**](https://github.com/SamirPaulb/DSAlgo/tree/main/05_Object-Oriented-Programming)\n- [x]  [**Binary Trees**](https://github.com/SamirPaulb/DSAlgo/tree/main/06_Binary-Trees)\n- [x]  [**Graph Algorithms**](https://github.com/SamirPaulb/DSAlgo/tree/main/07_Graph)\n- [x]  [**Heap**](https://github.com/SamirPaulb/DSAlgo/tree/main/08_Heap)\n- [x]  [**Matrix**](https://github.com/SamirPaulb/DSAlgo/tree/main/09_Matrix)\n- [x]  [**Trie**](https://github.com/SamirPaulb/DSAlgo/tree/main/10_Trie)\n- [x]  [**Binary Search**](https://github.com/SamirPaulb/DSAlgo/tree/main/11_Binary-Search)\n- [x]  [**Backtracking**](https://github.com/SamirPaulb/DSAlgo/tree/main/12_Backtracking)\n- [x]  [**Stack**](https://github.com/SamirPaulb/DSAlgo/tree/main/13_Stack)\n- [x]  [**Queue**](https://github.com/SamirPaulb/DSAlgo/tree/main/14_Queue)\n- [x]  [**Greedy**](https://github.com/SamirPaulb/DSAlgo/tree/main/15_Greedy)\n- [x]  [**String**](https://github.com/SamirPaulb/DSAlgo/tree/main/16_String)\n- [x]  [**Bit Manipulation**](https://github.com/SamirPaulb/DSAlgo/tree/main/17_Bit-Manipulation)\n- [x]  [**Array**](https://github.com/SamirPaulb/DSAlgo/tree/main/18_Array)\n- [x]  [**HashMap**](https://github.com/SamirPaulb/DSAlgo/tree/main/19_HashMap)\n- [x]  [**DFS BFS**](https://github.com/SamirPaulb/DSAlgo/tree/main/20_DFS-BFS)\n- [x]  [**Two Pointers**](https://github.com/SamirPaulb/DSAlgo/tree/main/21_Two-Pointers)\n- [x]  [**Math**](https://github.com/SamirPaulb/DSAlgo/tree/main/22_Math) \n- [x]  [**Recursion**](https://github.com/SamirPaulb/DSAlgo/tree/main/23_Recursion) \n\nIn various folders of the above topics, you can find questions and concepts related to that topic. \n\n- In the [Dynamic Programming](https://github.com/SamirPaulb/DSAlgo/tree/main/02_Dynamic-Programming) section, you can find all the questions covered and not covered in [Aditya Verma's](https://www.youtube.com/c/AdityaVermaTheProgrammingLord) [dynamic programming playlist](https://youtube.com/playlist?list=PL_z_8CaSLPWekqhdCPmFohncHwz8TY2Go) folder-wise with my [handwritten notes](https://drive.google.com/file/d/1wuMmJn2ybYN7eOYDXfe3gkB7TnpdGU3p/view?usp=sharing).✍️\n\n- If you are preparing for an interview from [Striver’s SDE Sheet](https://takeuforward.org/interviews/strivers-sde-sheet-top-coding-interview-problems/) then the [**30-Days-SDE-Sheet-Practice**](https://github.com/SamirPaulb/DSAlgo/tree/main/30-Days-SDE-Sheet-Practice) will be helpful to you. Here I have stored solutions to questions of each day with short notes to each solution, as short notes about the approach are very helpful during revision.🎯\n\n- In the  [**Questions-Sheet**](https://github.com/SamirPaulb/DSAlgo/tree/main/Questions-Sheet) directory, you can find questions asked by top product-based companies.\n\n- There is a collection of books and pdfs on various important computer science fundamentals in the [**BOOKS-and-PDFs**](https://github.com/SamirPaulb/DSAlgo/tree/main/BOOKS-and-PDFs) directory.📚\n\n\n\u003ch4\u003eView this repository in online VS Code: \u003ca href=\"https://samirpaulb.github.io/DSAlgo\"\u003e \u003cStrong\u003e https://samirpaulb.github.io/DSAlgo\u003c/strong\u003e  \u003cimg alt=\"DSAlgo\" src=\"https://github.com/SamirPaulb/DSAlgo/actions/workflows/pages/pages-build-deployment/badge.svg\"\u003e\n\u003c/a\u003e\u003c/h4\u003e\n\u003ca href=\"https://samirpaulb.github.io/DSAlgo\"\u003e\u003cimg src=\"https://scdn.netlify.app/samirpaul.in-DSAlgo-demo.png\" alt=\"DSA Online VSCode\"\u003e\u003c/a\u003e\n\n\u003cb\u003e\u003c/b\u003e\n\nI am continuously trying to improve this repository by adding new questions and concepts related to the respective topic. Please feel free to contribute to this repository.\n\n**Things you can contribute to:**\n- Update the existing solution \u003ca href=\"https://app.codacy.com/gh/SamirPaulb/DSAlgo/dashboard\"\u003e\u003cimg loading=\"lazy\" src=\"https://app.codacy.com/project/badge/Grade/a82141cd87824a70a52376e06b78807f\" alt=\"Codacy Badge\" width=\"90\" height=\"15\"\u003e\u003c/a\u003e with a better one (better complexity).\n- Add new questions and solutions in ```Python3``` to the respective directory.\n- Add new resources to [BOOKS-and-PDFs](https://github.com/SamirPaulb/DSAlgo/tree/main/BOOKS-and-PDFs) \u0026 [Questions-Sheet](https://github.com/SamirPaulb/DSAlgo/tree/main/Questions-Sheet).\n- Solve issues raised by other people or yourself.\n- Provide well-documented source code with detailed explanations.\n\n#### Stargazers over time\n\u003ca href=\"https://github.com/SamirPaulb/DSAlgo\"\u003e\u003cimg alt=\"Star History\" loading=\"lazy\"  src=\"https://api.star-history.com/svg?repos=SamirPaulb/DSAlgo\u0026type=Date\"\u003e\u003c/a\u003e\n\n---\n### More Resources:\n\u003e ***Click to expand!👇***\n    \n\u003cdetails\u003e\n \u003csummary\u003e\u003cb\u003eList of Important Questions:✨\u003c/b\u003e\u003c/summary\u003e\n    \n\u003e The following list of questions was recommended by [Love Babbar](https://www.youtube.com/c/LoveBabbar1) on this [video](https://youtu.be/4iFALQ1ACdA). I have documented all those questions here.✌️\n\n\n| Topic                      | Important DSA Questions                                                                              | Link                                                                |\n|------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------|\n| Topic:                       | Problem:                                                                                             |      Related Link                                                        |\n| \u003c-\u003e                          |                                                                                                      |                                                                          |\n| Array                        | Reverse the array (char)                                                                             | https://leetcode.com/problems/reverse-string/                             |\n| Array                        | Remove the maximum and minimum element in an array                                                   | https://leetcode.com/problems/removing-minimum-and-maximum-from-array/    |\n| Array                        | Find the \"Kth\" largest element of an array                                                           | https://leetcode.com/problems/kth-largest-element-in-an-array/            |\n| Array                        | Given an array which consists of only 0, 1 and 2. Sort the array without using any sorting algo      | https://leetcode.com/problems/sort-colors/                                                                      |\n| Array                        | Move all the negative elements to one side of the array                                              | \u003c-\u003e                                                                      |\n| Array                        | Find the Union and Intersection of the two sorted arrays.                                            | [Intersection of the two sorted arrays.(Leetcode)](https://leetcode.com/problems/intersection-of-two-arrays/)                                                                   |\n| Array                        | Write a program to cyclically rotate an array by one.                                                | https://leetcode.com/problems/rotate-array/                              |\n| Array                        | find Largest sum contiguous Subarray [V. IMP]                                                        | https://leetcode.com/problems/maximum-subarray/                          |\n| Array                        | Minimise the maximum difference between heights [V.IMP]                                              | https://leetcode.com/problems/smallest-range-ii/                         |\n| Array                        | Minimum no. of Jumps to reach end of an array                                                        | https://leetcode.com/problems/jump-game                                  |\n| Array                        | Find duplicate in an array of N+1 Integers                                                           | https://leetcode.com/problems/find-the-duplicate-number/                                                                             |\n| Array                        | Merge 2 sorted arrays without using Extra space.                                                     | https://leetcode.com/problems/merge-sorted-array/                                                                       \n| Array                        | Kadane's Algorithm                                                                                   | https://leetcode.com/problems/maximum-subarray/                          |\n| Array                        | Merge Intervals                                                                                      | \u003c-\u003e                                                                      |\n| Array                        | Next Permutation                                                                                     | \u003c-\u003e                                                                      |\n| Array                        | Count Inversion                                                                                      | \u003c-\u003e                                                                      |\n| Array                        | Best time to buy and Sell stock                                                                      | \u003c-\u003e                                                                      |\n| Array                        | find duplicate in an array of N+1 Integers                                                           | \u003c-\u003e                                                                                                                                                                   |\n| Array                        | Merge 2 sorted arrays without using Extra space.                                                     | \u003c-\u003e                                                                                                                                                                   |\n| Array                        | Kadane's Algorithm                                                                                   | https://leetcode.com/problems/maximum-subarray/                                                                                       |\n| Array                        | Merge Intervals                                                                                      | https://leetcode.com/problems/merge-intervals/                                                                                        |\n| Array                        | Next Permutation                                                                                     | https://leetcode.com/problems/next-permutation/                                                                                       |\n| Array                        | Count Inversions                                                                                     | \u003c-\u003e                                                                      |\n| Array                        | Best time to buy and Sell stock                                                                      | https://leetcode.com/problems/best-time-to-buy-and-sell-stock/                                                                        |\n| Array                        | find all pairs on integer array whose sum is equal to given number                                   | \u003c-\u003e                                                                      |\n| Array                        | find common elements In 3 sorted arrays                                                              | \u003c-\u003e                                                                      |\n| Array                        | Rearrange the array in alternating positive and negative items with O(1) extra space                 | \u003c-\u003e                                                                      |\n| Array                        | Find if there is any subarray with sum equal to 0                                                    | https://leetcode.com/problems/subarray-sum-equals-k/                     |\n| Array                        | Find factorial of a large number                                                                     | \u003c-\u003e                                                                      |\n| Array                        | find maximum product subarray                                                                        | \u003c-\u003e                                                                      |\n| Array                        | Find longest coinsecutive subsequence                                                                | \u003c-\u003e                                                                      |\n| Array                        | Given an array of size n and a number k, fin all elements that appear more than \" n/k \" times.       | \u003c-\u003e                                                                      |\n| Array                        | Maximum profit by buying and selling a share atmost twice                                            | \u003c-\u003e                                                                      |\n| Array                        | Find whether an array is a subset of another array                                                   | \u003c-\u003e                                                                      |\n| Array                        | Find the triplet that sum to a given value                                                           | \u003c-\u003e                                                                      |\n| Array                        | Trapping Rain water problem                                                                          | \u003c-\u003e                                                                      |\n| Array                        | Chocolate Distribution problem                                                                       | \u003c-\u003e                                                                      |\n| Array                        | Smallest Subarray with sum greater than a given value                                                | \u003c-\u003e                                                                      |\n| Array                        | Three way partitioning of an array around a given value                                              | \u003c-\u003e                                                                      |\n| Array                        | Minimum swaps required bring elements less equal K together                                          | \u003c-\u003e                                                                      |\n| Array                        | Minimum no. of operations required to make an array palindrome                                       | \u003c-\u003e                                                                      |\n| Array                        | Median of 2 sorted arrays of equal size                                                              | \u003c-\u003e                                                                      |\n| Array                        | Median of 2 sorted arrays of different size                                                          | \u003c-\u003e                                                                      |\n|                        Array | Subarray Sums Divisible by K                                                                         |                                                                          |\n|                        Array | Continuous Subarray Sum                                                                              |                                                                          |\n| \u003c-\u003e                          |                                                                                                      |                                                                          |\n| \u003c-\u003e                          |                                                                                                      |                                                                          |\n| Matrix                       | Spiral traversal on a Matrix                                                                         | \u003c-\u003e                                                                      |\n| Matrix                       | Search an element in a matriix                                                                       | \u003c-\u003e                                                                      |\n| Matrix                       | Find median in a row wise sorted matrix                                                              | \u003c-\u003e                                                                      |\n| Matrix                       | Find row with maximum no. of 1's                                                                     | \u003c-\u003e                                                                      |\n| Matrix                       | Print elements in sorted order using row-column wise sorted matrix                                   | \u003c-\u003e                                                                      |\n| Matrix                       | Largest Rectangle in Histogram                                                                       |                                                                          |\n| Matrix                       | Maximum size rectangle                                                                               | https://practice.geeksforgeeks.org/problems/max-rectangle/1              |\n| Matrix                       | Find a specific pair in matrix                                                                       | \u003c-\u003e                                                                      |\n| Matrix                       | Rotate matrix by 90 degrees                                                                          | \u003c-\u003e                                                                      |\n| Matrix                       | Kth smallest element in a row-cpumn wise sorted matrix                                               | \u003c-\u003e                                                                      |\n| Matrix                       | Common elements in all rows of a given matrix                                                        | \u003c-\u003e                                                                      |\n| String                       | Reverse a String                                                                                     | \u003c-\u003e                                                                      |\n| String                       | Check whether a String is Palindrome or not                                                          | \u003c-\u003e                                                                      |\n| String                       | Find Duplicate characters in a string                                                                | \u003c-\u003e                                                                      |\n| String                       | Why strings are immutable in Java?                                                                   | \u003c-\u003e                                                                      |\n| String                       | Write a Code to check whether one string is a rotation of another                                    | \u003c-\u003e                                                                      |\n| String                       | Write a Program to check whether a string is a valid shuffle of two strings or not                   | \u003c-\u003e                                                                      |\n| String                       | Count and Say problem                                                                                | \u003c-\u003e                                                                      |\n| String                       | Write a program to find the longest Palindrome in a string.[ Longest palindromic Substring]          | \u003c-\u003e                                                                      |\n| String                       | Find Longest Recurring Subsequence in String                                                         | \u003c-\u003e                                                                      |\n| String                       | Print all Subsequences of a string.                                                                  | \u003c-\u003e                                                                      |\n| String                       | Print all the permutations of the given string                                                       | \u003c-\u003e                                                                      |\n| String                       | Split the Binary string into two substring with equal 0’s and 1’s                                    | \u003c-\u003e                                                                      |\n| String                       | Word Wrap Problem [VERY IMP].                                                                        | \u003c-\u003e                                                                      |\n| String                       | EDIT Distance [Very Imp]                                                                             | \u003c-\u003e                                                                      |\n| String                       | Find next greater number with same set of digits. [Very Very IMP]                                    | \u003c-\u003e                                                                      |\n| String                       | Balanced Parenthesis problem.[Imp]                                                                   | \u003c-\u003e                                                                      |\n| String                       | Word break Problem[ Very Imp]                                                                        | \u003c-\u003e                                                                      |\n| String                       | Rabin Karp Algo                                                                                      | \u003c-\u003e                                                                      |\n| String                       | KMP Algo                                                                                             | \u003c-\u003e                                                                      |\n| String                       | Convert a Sentence into its equivalent mobile numeric keypad sequence.                               | \u003c-\u003e                                                                      |\n| String                       | Minimum number of bracket reversals needed to make an expression balanced.                           | \u003c-\u003e                                                                      |\n| String                       | Count All Palindromic Subsequence in a given String.                                                 | \u003c-\u003e                                                                      |\n| String                       | Count of number of given string in 2D character array                                                | \u003c-\u003e                                                                      |\n| String                       | Search a Word in a 2D Grid of characters.                                                            | \u003c-\u003e                                                                      |\n| String                       | Boyer Moore Algorithm for Pattern Searching.                                                         | \u003c-\u003e                                                                      |\n| String                       | Converting Roman Numerals to Decimal                                                                 | \u003c-\u003e                                                                      |\n| String                       | Longest Common Prefix                                                                                | \u003c-\u003e                                                                      |\n| String                       | Number of flips to make binary string alternate                                                      | \u003c-\u003e                                                                      |\n| String                       | Find the first repeated word in string.                                                              | \u003c-\u003e                                                                      |\n| String                       | Minimum number of swaps for bracket balancing.                                                       | \u003c-\u003e                                                                      |\n| String                       | Find the longest common subsequence between two strings.                                             | \u003c-\u003e                                                                      |\n| String                       | Program to generate all possible valid IP addresses from given  string.                              | \u003c-\u003e                                                                      |\n| String                       | Write a program tofind the smallest window that contains all characters of string itself.            | \u003c-\u003e                                                                      |\n| String                       | Rearrange characters in a string such that no two adjacent are same                                  | \u003c-\u003e                                                                      |\n| String                       | Minimum characters to be added at front to make string palindrome                                    | \u003c-\u003e                                                                      |\n| String                       | Given a sequence of words, print all anagrams together                                               | \u003c-\u003e                                                                      |\n| String                       | Find the smallest window in a string containing all characters of another string                     | \u003c-\u003e                                                                      |\n| String                       | Recursively remove all adjacent duplicates                                                           | \u003c-\u003e                                                                      |\n| String                       | String matching where one string contains wildcard characters                                        | \u003c-\u003e                                                                      |\n| String                       | Function to find Number of customers who could not get a computer                                    | \u003c-\u003e                                                                      |\n| String                       | Transform One String to Another using Minimum Number of Given Operation                              | \u003c-\u003e                                                                      |\n| String                       | Check if two given strings are isomorphic to each other                                              | \u003c-\u003e                                                                      |\n| String                       | Recursively print all sentences that can be formed from list of word lists                           | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Find first and last positions of an element in a sorted array                                        | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Find a Fixed Point (Value equal to index) in a given array                                           | https://leetcode.com/problems/find-pivot-index/                          |\n| Searching \u0026 Sorting          | Search in a rotated sorted array                                                                     | https://leetcode.com/problems/search-in-rotated-sorted-array/            |\n| Searching \u0026 Sorting          | square root of an integer                                                                            | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Maximum and minimum of an array using minimum number of comparisons                                  | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Optimum location of point to minimize total distance                                                 | https://leetcode.com/problems/best-meeting-point/                        |\n| Searching \u0026 Sorting          | Find the repeating and the missing                                                                   | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | find majority element                                                                                | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Searching in an array where adjacent differ by at most k                                             | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | find a pair with a given difference                                                                  | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | find four elements that sum to a given value                                                         | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | maximum sum such that no 2 elements are adjacent                                                     | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Count triplet with sum smaller than a given value                                                    | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | merge 2 sorted arrays                                                                                | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | print all subarrays with 0 sum                                                                       | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Product array Puzzle                                                                                 | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Sort array according to count of set bits                                                            | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | minimum no. of swaps required to sort the array                                                      | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Bishu and Soldiers                                                                                   | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Rasta and Kheshtak                                                                                   | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Kth smallest number again                                                                            | Using Min Heap                                                           |\n| Searching \u0026 Sorting          | Find pivot element in a sorted array                                                                 | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | K-th Element of Two Sorted Arrays                                                                    | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Aggressive cows                                                                                      | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Book Allocation Problem                                                                              | https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/   |\n| Searching \u0026 Sorting          | EKOSPOJ:                                                                                             | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Job Scheduling Algo                                                                                  | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Missing Number in AP                                                                                 | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Smallest number with atleastn trailing zeroes infactorial                                            | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Painters Partition Problem:                                                                          | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | ROTI-Prata SPOJ                                                                                      | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | DoubleHelix SPOJ                                                                                     | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Subset Sums                                                                                          | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Findthe inversion count                                                                              | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Implement Merge-sort in-place                                                                        | \u003c-\u003e                                                                      |\n| Searching \u0026 Sorting          | Partitioning and Sorting Arrays with Many Repeated Entries                                           | \u003c-\u003e                                                                      |\n| LinkedList                   | Write a Program to reverse the Linked List. (Both Iterative and recursive)                           | \u003c-\u003e                                                                      |\n| LinkedList                   | Reverse a Linked List in group of Given Size. [Very Imp]                                             | https://leetcode.com/problems/reverse-nodes-in-k-group/                  |\n| LinkedList                   | Write a program to Detect loop in a linked list.                                                     | \u003c-\u003e                                                                      |\n| LinkedList                   | Write a program to Delete loop in a linked list.                                                     | \u003c-\u003e                                                                      |\n| LinkedList                   | Find the starting point of the loop.                                                                 | \u003c-\u003e                                                                      |\n| LinkedList                   | Remove Duplicates in a sorted Linked List.                                                           |                                                                          |\n| LinkedList                   | Remove Duplicates from Sorted List II                                                                |                                                                          |\n| LinkedList                   | Remove Duplicates in a Un-sorted Linked List.                                                        |                                                                          |\n| LinkedList                   | Write a Program to Move the last element to Front in a Linked List.                                  | \u003c-\u003e                                                                      |\n| LinkedList                   | Add “1” to a number represented as a Linked List.                                                    | \u003c-\u003e                                                                      |\n| LinkedList                   | Add two numbers represented by linked lists.                                                         | \u003c-\u003e                                                                      |\n| LinkedList                   | Intersection of two Sorted Linked List.                                                              | \u003c-\u003e                                                                      |\n| LinkedList                   | Intersection Point of two Linked Lists.                                                              | \u003c-\u003e                                                                      |\n| LinkedList                   | Merge Sort For Linked lists.[Very Important]                                                         | \u003c-\u003e                                                                      |\n| LinkedList                   | Quicksort for Linked Lists.[Very Important]                                                          | \u003c-\u003e                                                                      |\n| LinkedList                   | Find the middle Element of a linked list.                                                            | \u003c-\u003e                                                                      |\n| LinkedList                   | Check if a linked list is a circular linked list.                                                    | \u003c-\u003e                                                                      |\n| LinkedList                   | Split a Circular linked list into two halves.                                                        | \u003c-\u003e                                                                      |\n| LinkedList                   | Write a Program to check whether the Singly Linked list is a palindrome or not.                      | \u003c-\u003e                                                                      |\n| LinkedList                   | Deletion from a Circular Linked List.                                                                | \u003c-\u003e                                                                      |\n| LinkedList                   | Reverse a Doubly Linked list.                                                                        | \u003c-\u003e                                                                      |\n| LinkedList                   | Find pairs with a given sum in a DLL.                                                                | \u003c-\u003e                                                                      |\n| LinkedList                   | Count triplets in a sorted DLL whose sum is equal to given value “X”.                                | \u003c-\u003e                                                                      |\n| LinkedList                   | Sort a “k”sorted Doubly Linked list.[Very IMP]                                                       | \u003c-\u003e                                                                      |\n| LinkedList                   | Rotate DoublyLinked list by N nodes.                                                                 | \u003c-\u003e                                                                      |\n| LinkedList                   | Rotate a Doubly Linked list in group of Given Size.[Very IMP]                                        | \u003c-\u003e                                                                      |\n| LinkedList                   | Can we reverse a linked list in less than O(n) ?                                                     | \u003c-\u003e                                                                      |\n| LinkedList                   | Why Quicksort is preferred for. Arrays and Merge Sort for LinkedLists ?                              | \u003c-\u003e                                                                      |\n| LinkedList                   | Flatten a Linked List                                                                                | \u003c-\u003e                                                                      |\n| LinkedList                   | Sort a LL of 0's, 1's and 2's                                                                        | \u003c-\u003e                                                                      |\n| LinkedList                   | Clone a linked list with next and random pointer                                                     | \u003c-\u003e                                                                      |\n| LinkedList                   | Merge K sorted Linked list                                                                           | \u003c-\u003e                                                                      |\n| LinkedList                   | Multiply 2 no. represented by LL                                                                     | \u003c-\u003e                                                                      |\n| LinkedList                   | Delete nodes which have a greater value on right side                                                | \u003c-\u003e                                                                      |\n| LinkedList                   | Segregate even and odd nodes in a Linked List                                                        | \u003c-\u003e                                                                      |\n| LinkedList                   | Program for n’th node from the end of a Linked List                                                  | \u003c-\u003e                                                                      |\n| LinkedList                   | Find the first non-repeating character from a stream of characters                                   | \u003c-\u003e                                                                      |\n| Binary Trees                 | level order traversal                                                                                | \u003c-\u003e                                                                      |\n| Binary Trees                 | Reverse Level Order traversal                                                                        | \u003c-\u003e                                                                      |\n| Binary Trees                 | Height of a tree                                                                                     | \u003c-\u003e                                                                      |\n| Binary Trees                 | Diameter of a tree                                                                                   | \u003c-\u003e                                                                      |\n| Binary Trees                 | Mirror of a tree                                                                                     | \u003c-\u003e                                                                      |\n| Binary Trees                 | Inorder Traversal of a tree both using recursion and Iteration                                       | \u003c-\u003e                                                                      |\n| Binary Trees                 | Preorder Traversal of a tree both using recursion and Iteration                                      | \u003c-\u003e                                                                      |\n| Binary Trees                 | Postorder Traversal of a tree both using recursion and Iteration                                     | \u003c-\u003e                                                                      |\n| Binary Trees                 | Left View of a tree                                                                                  | \u003c-\u003e                                                                      |\n| Binary Trees                 | Right View of Tree                                                                                   | https://leetcode.com/problems/binary-tree-right-side-view/               |\n| Binary Trees                 | Top View of a tree                                                                                   | https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/ |\n| Binary Trees                 | Bottom View of a tree                                                                                | \u003c-\u003e                                                                      |\n| Binary Trees                 | Zig-Zag traversal of a binary tree                                                                   | https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/  |\n| Binary Trees                 | Check if a tree is balanced or not                                                                   | \u003c-\u003e                                                                      |\n| Binary Trees                 | Diagnol Traversal of a Binary tree                                                                   | https://www.youtube.com/watch?v=e9ZGxH1y_PE                              |\n| Binary Trees                 | Boundary traversal of a Binary tree                                                                  | https://www.youtube.com/watch?v=0ca1nvR0be4                              |\n| Binary Trees                 | Construct Binary Tree from String with Bracket Representation                                        | \u003c-\u003e                                                                      |\n| Binary Trees                 | Convert Binary tree into Doubly Linked List                                                          | \u003c-\u003e                                                                      |\n| Binary Trees                 | Convert Binary tree into Sum tree                                                                    | \u003c-\u003e                                                                      |\n| Binary Trees                 | Construct Binary tree from Inorder and preorder traversal                                            | \u003c-\u003e                                                                      |\n| Binary Trees                 | Find minimum swaps required to convert a Binary tree into BST                                        | \u003c-\u003e                                                                      |\n| Binary Trees                 | Check if Binary tree is Sum tree or not                                                              | \u003c-\u003e                                                                      |\n| Binary Trees                 | Check if all leaf nodes are at same level or not                                                     | \u003c-\u003e                                                                      |\n| Binary Trees                 | Check if a Binary Tree contains duplicate subtrees of size 2 or more [ IMP ]                         | \u003c-\u003e                                                                      |\n| Binary Trees                 | Check if 2 trees are mirror or not                                                                   | \u003c-\u003e                                                                      |\n| Binary Trees                 | Sum of Nodes on the Longest path from root to leaf node                                              | \u003c-\u003e                                                                      |\n| Binary Trees                 | Check if given graph is tree or not.  [ IMP ]                                                        | \u003c-\u003e                                                                      |\n| Binary Trees                 | Find Largest subtree sum in a tree                                                                   | \u003c-\u003e                                                                      |\n| Binary Trees                 | Maximum Sum of nodes in Binary tree such that no two are adjacent                                    | \u003c-\u003e                                                                      |\n| Binary Trees                 | Print all \"K\" Sum paths in a Binary tree                                                             | \u003c-\u003e                                                                      |\n| Binary Trees                 | Find LCA in a Binary tree                                                                            | \u003c-\u003e                                                                      |\n| Binary Trees                 | Find distance between 2 nodes in a Binary tree                                                       | \u003c-\u003e                                                                      |\n| Binary Trees                 | Kth Ancestor of node in a Binary tree                                                                | \u003c-\u003e                                                                      |\n| Binary Trees                 | Find all Duplicate subtrees in a Binary tree [ IMP ]                                                 | \u003c-\u003e                                                                      |\n| Binary Trees                 | Tree Isomorphism Problem                                                                             | \u003c-\u003e                                                                      |\n| Binary Trees                 | Copy List with Random Pointer                                                                        |                                                                          |\n| Binary Search Trees          | Fina a value in a BST                                                                                | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Deletion of a node in a BST                                                                          | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Find min and max value in a BST                                                                      | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Find inorder successor and inorder predecessor in a BST                                              | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Check if a tree is a BST or not                                                                      | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Populate Inorder successor of all nodes                                                              | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Find LCA  of 2 nodes in a BST                                                                        | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Construct BST from preorder traversal                                                                | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Convert Binary tree into BST                                                                         | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Convert a normal BST into a Balanced BST                                                             | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Merge two BST [ V.V.V\u003eIMP ]                                                                          | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Find Kth largest element in a BST                                                                    | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Find Kth smallest element in a BST                                                                   | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Count pairs from 2 BST whose sum is equal to given value \"X\"                                         | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Find the median of BST in O(n) time and O(1) space                                                   | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Count BST ndoes that lie in a given range                                                            | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Replace every element with the least greater element on its right                                    | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Given \"n\" appointments, find the conflicting appointments                                            | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Check preorder is valid or not                                                                       | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Check whether BST contains Dead end                                                                  | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Largest BST in a Binary Tree [ V.V.V.V.V IMP ]                                                       | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Flatten BST to sorted list                                                                           | \u003c-\u003e                                                                      |\n| Binary Search Trees          | Check Completeness of a Binary Tree                                                                  |                                                                          |\n| Binary Search Trees          | Non-overlapping Intervals                                                                            |                                                                          |\n| Binary Search Trees          | Largest BST in Binary Tree                                                                           | https://leetcode.com/problems/maximum-sum-bst-in-binary-tree/            |\n| Greedy                       | Activity Selection Problem                                                                           | \u003c-\u003e                                                                      |\n| Greedy                       | Job SequencingProblem                                                                                | \u003c-\u003e                                                                      |\n| Greedy                       | Huffman Coding                                                                                       | \u003c-\u003e                                                                      |\n| Greedy                       | Water Connection Problem                                                                             | \u003c-\u003e                                                                      |\n| Greedy                       | Fractional Knapsack Problem                                                                          | \u003c-\u003e                                                                      |\n| Greedy                       | Greedy Algorithm to find Minimum number of Coins                                                     | \u003c-\u003e                                                                      |\n| Greedy                       | Maximum trains for which stoppage can be provided                                                    | \u003c-\u003e                                                                      |\n| Greedy                       | Minimum Platforms Problem                                                                            | \u003c-\u003e                                                                      |\n| Greedy                       | Buy Maximum Stocks if i stocks can be bought on i-th day                                             | \u003c-\u003e                                                                      |\n| Greedy                       | Find the minimum and maximum amount to buy all N candies                                             | \u003c-\u003e                                                                      |\n| Greedy                       | Minimize Cash Flow among a given set of friends who have borrowed money from each other              | Optimal Account Balancing                                                |\n| Greedy                       | Minimum Cost to cut a board into squares                                                             | \u003c-\u003e                                                                      |\n| Greedy                       | Number of Islands                                                                                    | \u003c-\u003e                                                                      |\n| Greedy                       | Find maximum meetings in one room                                                                    | https://www.lintcode.com/problem/919                                     |\n| Greedy                       | Maximum product subset of an array                                                                   | \u003c-\u003e                                                                      |\n| Greedy                       | Maximize array sum after K negations                                                                 | \u003c-\u003e                                                                      |\n| Greedy                       | Maximize the sum of arr[i]*i                                                                         | \u003c-\u003e                                                                      |\n| Greedy                       | Maximum sum of absolute difference of an array                                                       | \u003c-\u003e                                                                      |\n| Greedy                       | Maximize sum of consecutive differences in a circular array                                          | \u003c-\u003e                                                                      |\n| Greedy                       | Minimum sum of absolute difference of pairs of two arrays                                            | \u003c-\u003e                                                                      |\n| Greedy                       | Program for Shortest Job First (or SJF) CPU Scheduling                                               | \u003c-\u003e                                                                      |\n| Greedy                       | Program for Least Recently Used (LRU) Page Replacement algorithm                                     | \u003c-\u003e                                                                      |\n| Greedy                       | Smallest subset with sum greater than all other elements                                             | \u003c-\u003e                                                                      |\n| Greedy                       | Chocolate Distribution Problem                                                                       | \u003c-\u003e                                                                      |\n| Greedy                       | DEFKIN -Defense of a Kingdom                                                                         | \u003c-\u003e                                                                      |\n| Greedy                       | DIEHARD -DIE HARD                                                                                    | \u003c-\u003e                                                                      |\n| Greedy                       | GERGOVIA -Wine trading in Gergovia                                                                   | \u003c-\u003e                                                                      |\n| Greedy                       | Picking Up Chicks                                                                                    | \u003c-\u003e                                                                      |\n| Greedy                       | CHOCOLA –Chocolate                                                                                   | \u003c-\u003e                                                                      |\n| Greedy                       | ARRANGE -Arranging Amplifiers                                                                        | \u003c-\u003e                                                                      |\n| Greedy                       | K Centers Problem                                                                                    | \u003c-\u003e                                                                      |\n| Greedy                       | Minimum Cost of ropes                                                                                | \u003c-\u003e                                                                      |\n| Greedy                       | Find smallest number with given number of digits and sum of digits                                   | \u003c-\u003e                                                                      |\n| Greedy                       | Rearrange characters in a string such that no two adjacent are same                                  | \u003c-\u003e                                                                      |\n| Greedy                       | Find maximum sum possible equal sum of three stacks                                                  | \u003c-\u003e                                                                      |\n|                       Greedy | Maximum Sub-String after at most K changes                                                           | https://leetcode.com/problems/maximize-the-confusion-of-an-exam/         |\n| BackTracking                 | Rat in a maze Problem                                                                                | \u003c-\u003e                                                                      |\n| BackTracking                 | Printing all solutions in N-Queen Problem                                                            | \u003c-\u003e                                                                      |\n| BackTracking                 | Word Break Problem using Backtracking                                                                | \u003c-\u003e                                                                      |\n| BackTracking                 | Remove Invalid Parentheses                                                                           | \u003c-\u003e                                                                      |\n| BackTracking                 | Sudoku Solver                                                                                        | \u003c-\u003e                                                                      |\n| BackTracking                 | m Coloring Problem                                                                                   | \u003c-\u003e                                                                      |\n| BackTracking                 | Print all palindromic partitions of a string                                                         | \u003c-\u003e                                                                      |\n| BackTracking                 | Subset Sum Problem                                                                                   | \u003c-\u003e                                                                      |\n| BackTracking                 | The Knight’s tour problem                                                                            | \u003c-\u003e                                                                      |\n| BackTracking                 | Tug of War                                                                                           | \u003c-\u003e                                                                      |\n| BackTracking                 | Find shortest safe route in a path with landmines                                                    | \u003c-\u003e                                                                      |\n| BackTracking                 | Combinational Sum                                                                                    | \u003c-\u003e                                                                      |\n| BackTracking                 | Find Maximum number possible by doing at-most K swaps                                                | \u003c-\u003e                                                                      |\n| BackTracking                 | Print all permutations of a string                                                                   | \u003c-\u003e                                                                      |\n| BackTracking                 | Find if there is a path of more than k length from a source                                          | \u003c-\u003e                                                                      |\n| BackTracking                 | Longest Possible Route in a Matrix with Hurdles                                                      | \u003c-\u003e                                                                      |\n| BackTracking                 | Print all possible paths from top left to bottom right of a mXn matrix                               | \u003c-\u003e                                                                      |\n| BackTracking                 | Partition of a set intoK subsets with equal sum                                                      | \u003c-\u003e                                                                      |\n| BackTracking                 | Find the K-th Permutation Sequence of first N natural numbers                                        | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              |  Implement Stack from Scratch                                                                        | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              |  Implement Queue from Scratch                                                                        | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Implement 2 stack in an array                                                                        | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | find the middle element of a stack                                                                   | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Implement \"N\" stacks in an Array                                                                     | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Check the expression has valid or Balanced parenthesis or not.                                       | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Reverse a String using Stack                                                                         | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Design a Stack that supports getMin() in O(1) time and O(1) extra space.                             | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Find the next Greater element                                                                        | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | The celebrity Problem                                                                                | https://www.youtube.com/watch?v=CiiXBvrX-5A                              |\n| Stacks \u0026 Queues              | Arithmetic Expression evaluation                                                                     | https://leetcode.com/problems/evaluate-reverse-polish-notation/          |\n| Stacks \u0026 Queues              | Evaluation of Postfix expression                                                                     | https://www.youtube.com/watch?v=422Q_yx2yA8                              |\n| Stacks \u0026 Queues              | Implement a method to insert an element at its bottom without using any other data structure.        | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Reverse a stack using recursion                                                                      | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Sort a Stack using recursion                                                                         | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Merge Overlapping Intervals                                                                          | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Largest rectangular Area in Histogram                                                                | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Length of the Longest Valid Substring                                                                | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Expression contains redundant bracket or not                                                         | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Implement Stack using Queue                                                                          | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Implement Stack using Deque                                                                          | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Stack Permutations (Check if an array is stack permutation of other)                                 | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Implement Queue using Stack                                                                          | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Implement \"n\" queue in an array                                                                      | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Implement a Circular queue                                                                           | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | LRU Cache Implementationa                                                                            | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Reverse a Queue using recursion                                                                      | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Reverse the first “K” elements of a queue                                                            | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Interleave the first half of the queue with second half                                              | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Find the first circular tour that visits all Petrol Pumps                                            | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Minimum time required to rot all oranges                                                             | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Distance of nearest cell having 1 in a binary matrix                                                 | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | First negative integer in every window of size “k”                                                   | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Check if all levels of two trees are anagrams or not.                                                | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Sum of minimum and maximum elements of all subarrays of size “k”.                                    | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Minimum sum of squares of character counts in a given string after removing “k” characters.          | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Queue based approach or first non-repeating character in a stream.                                   | \u003c-\u003e                                                                      |\n| Stacks \u0026 Queues              | Next Smaller Element                                                                                 | \u003c-\u003e                                                                      |\n| Heap                         | Implement a Maxheap/MinHeap using arrays and recursion.                                              | \u003c-\u003e                                                                      |\n| Heap                         | Sort an Array using heap. (HeapSort)                                                                 | \u003c-\u003e                                                                      |\n| Heap                         | Maximum of all subarrays of size k.                                                                  | \u003c-\u003e                                                                      |\n| Heap                         | “k” largest element in an array                                                                      | \u003c-\u003e                                                                      |\n| Heap                         | Kth smallest and largest element in an unsorted array                                                | \u003c-\u003e                                                                      |\n| Heap                         | Merge “K” sorted arrays. [ IMP ]                                                                     | \u003c-\u003e                                                                      |\n| Heap                         | Merge 2 Binary Max Heaps                                                                             | \u003c-\u003e                                                                      |\n| Heap                         | Kth largest sum continuous subarrays                                                                 | \u003c-\u003e                                                                      |\n| Heap                         | Leetcode- reorganize strings                                                                         | \u003c-\u003e                                                                      |\n| Heap                         | Merge “K” Sorted Linked Lists [V.IMP]                                                                | \u003c-\u003e                                                                      |\n| Heap                         | Smallest range in “K” Lists                                                                          | \u003c-\u003e                                                                      |\n| Heap                         | Median in a stream of Integers                                                                       | \u003c-\u003e                                                                      |\n| Heap                         | Check if a Binary Tree is Heap                                                                       | \u003c-\u003e                                                                      |\n| Heap                         | Connect “n” ropes with minimum cost                                                                  | \u003c-\u003e                                                                      |\n| Heap                         | Convert BST to Min Heap                                                                              | \u003c-\u003e                                                                      |\n| Heap                         | Convert min heap to max heap                                                                         | \u003c-\u003e                                                                      |\n| Heap                         | Rearrange characters in a string such that no two adjacent are same.                                 | \u003c-\u003e                                                                      |\n| Heap                         | Minimum sum of two numbers formed from digits of an array                                            | \u003c-\u003e                                                                      |\n| Graph                        | Create a Graph, print it                                                                             | \u003c-\u003e                                                                      |\n| Graph                        | Implement BFS algorithm                                                                              | \u003c-\u003e                                                                      |\n| Graph                        | Implement DFS Algo                                                                                   | \u003c-\u003e                                                                      |\n| Graph                        | Detect Cycle in Directed Graph using BFS/DFS Algo                                                    | \u003c-\u003e                                                                      |\n| Graph                        | Detect Cycle in UnDirected Graph using BFS/DFS Algo                                                  | \u003c-\u003e                                                                      |\n| Graph                        | Search in a Maze                                                                                     | \u003c-\u003e                                                                      |\n| Graph                        | Minimum Step by Knight                                                                               | \u003c-\u003e                                                                      |\n| Graph                        | flood fill algo                                                                                      | \u003c-\u003e                                                                      |\n| Graph                        | Clone a graph                                                                                        | \u003c-\u003e                                                                      |\n| Graph                        | Making wired Connections                                                                             | \u003c-\u003e                                                                      |\n| Graph                        | word Ladder                                                                                          | \u003c-\u003e                                                                      |\n| Graph                        | Dijkstra algo                                                                                        | \u003c-\u003e                                                                      |\n| Graph                        | Implement Topological Sort                                                                           | \u003c-\u003e                                                                      |\n| Graph                        | Minimum time taken by each job to be completed given by a Directed Acyclic Graph                     | \u003c-\u003e                                                                      |\n| Graph                        | Find whether it is possible to finish all tasks or not from given dependencies                       | \u003c-\u003e                                                                      |\n| Graph                        | Find the no. of Isalnds                                                                              | \u003c-\u003e                                                                      |\n| Graph                        | Given a sorted Dictionary of an Alien Language, find order of characters                             | \u003c-\u003e                                                                      |\n| Graph                        | Implement Kruksal’sAlgorithm                                                                         | \u003c-\u003e                                                                      |\n| Graph                        | Implement Prim’s Algorithm                                                                           | \u003c-\u003e                                                                      |\n| Graph                        | Total no. of Spanning tree in a graph                                                                | \u003c-\u003e                                                                      |\n| Graph                        | Implement Bellman Ford Algorithm                                                                     | \u003c-\u003e                                                                      |\n| Graph                        | Implement Floyd warshallAlgorithm                                                                    | \u003c-\u003e                                                                      |\n| Graph                        | Travelling Salesman Problem                                                                          | \u003c-\u003e                                                                      |\n| Graph                        | Graph ColouringProblem                                                                               | \u003c-\u003e                                                                      |\n| Graph                        | Snake and Ladders Problem                                                                            | \u003c-\u003e                                                                      |\n| Graph                        | Find bridge in a graph                                                                               | \u003c-\u003e                                                                      |\n| Graph                        | Count Strongly connected Components(Kosaraju Algo)                                                   | \u003c-\u003e                                                                      |\n| Graph                        | Check whether a graph is Bipartite or Not                                                            | \u003c-\u003e                                                                      |\n| Graph                        | Detect Negative cycle in a graph                                                                     | \u003c-\u003e                                                                      |\n| Graph                        | Longest path in a Directed Acyclic Graph                                                             | \u003c-\u003e                                                                      |\n| Graph                        | Journey to the Moon                                                                                  | \u003c-\u003e                                                                      |\n| Graph                        | Cheapest Flights Within K Stops                                                                      | \u003c-\u003e                                                                      |\n| Graph                        | Oliver and the Game                                                                                  | \u003c-\u003e                                                                      |\n| Graph                        | Water Jug problem using BFS                                                                          | \u003c-\u003e                                                                      |\n| Graph                        | Water Jug problem using BFS                                                                          | \u003c-\u003e                                                                      |\n| Graph                        | Find if there is a path of more thank length from a source                                           | \u003c-\u003e                                                                      |\n| Graph                        | M-ColouringProblem                                                                                   | \u003c-\u003e                                                                      |\n| Graph                        | Minimum edges to reverse o make path from source to destination                                      | \u003c-\u003e                                                                      |\n| Graph                        | Paths to travel each nodes using each edge(Seven Bridges)                                            | \u003c-\u003e                                                                      |\n| Graph                        | Vertex Cover Problem                                                                                 | \u003c-\u003e                                                                      |\n| Graph                        | Chinese Postman or Route Inspection                                                                  | \u003c-\u003e                                                                      |\n| Graph                        | Number of Triangles in a Directed and Undirected Graph                                               | \u003c-\u003e                                                                      |\n| Graph                        | Minimise the cashflow among a given set of friends who have borrowed money from each other           | \u003c-\u003e                                                                      |\n| Graph                        | Two Clique Problem                                                                                   | \u003c-\u003e                                                                      |\n| Trie                         | Construct a trie from scratch                                                                        | \u003c-\u003e                                                                      |\n| Trie                         | Find shortest unique prefix for every word in a given list                                           | \u003c-\u003e                                                                      |\n| Trie                         | Word Break Problem | (Trie solution)                                                                 | \u003c-\u003e                                                                      |\n| Trie                         | Given a sequence of words, print all anagrams together                                               | \u003c-\u003e                                                                      |\n| Trie                         | Implement a Phone Directory                                                                          | \u003c-\u003e                                                                      |\n| Trie                         | Print unique rows in a given boolean matrix                                                          | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Coin ChangeProblem                                                                                   | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Knapsack Problem                                                                                     | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Binomial CoefficientProblem                                                                          | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Permutation CoefficientProblem                                                                       | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Program for nth Catalan Number                                                                       | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Matrix Chain Multiplication                                                                          | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Edit Distance                                                                                        | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Subset Sum Problem                                                                                   | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Friends Pairing Problem                                                                              | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Gold Mine Problem                                                                                    | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Assembly Line SchedulingProblem                                                                      | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Painting the Fenceproblem                                                                            | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Maximize The Cut Segments                                                                            | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Longest Common Subsequence                                                                           | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Longest Repeated Subsequence                                                                         | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Longest Increasing Subsequence                                                                       | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Space Optimized Solution of LCS                                                                      | \u003c-\u003e                                                                      |\n| Dynamic Programming          | LCS (Longest Common Subsequence) of three strings                                                    | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Maximum Sum Increasing Subsequence                                                                   | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Count all subsequences having product less than K                                                    | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Longest subsequence such that difference between adjacent is one                                     | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Maximum subsequence sum such that no three are consecutive                                           | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Egg Dropping Problem                                                                                 | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Maximum Length Chain of Pairs                                                                        | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Maximum size square sub-matrix with all 1s                                                           | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Maximum sum of pairs with specific difference                                                        | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Min Cost PathProblem                                                                                 | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Maximum difference of zeros and ones in binary string                                                | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Minimum number of jumps to reach end                                                                 | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Minimum cost to fill given weight in a bag                                                           | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Minimum removals from array to make max –min \u003c= K                                                    | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Longest Common Substring                                                                             | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Count number of ways to reacha given score in a game                                                 | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Count Balanced Binary Trees of Height h                                                              | \u003c-\u003e                                                                      |\n| Dynamic Programming          | LargestSum Contiguous Subarray [V\u003eV\u003eV\u003eV IMP ]                                                        | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Smallest sum contiguous subarray                                                                     | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Unbounded Knapsack (Repetition of items allowed)                                                     | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Word Break Problem                                                                                   | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Largest Independent Set Problem                                                                      | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Partition problem                                                                                    | \u003c-\u003e                                                                      |\n| Dynamic Programming          | Longest Palindromic Subsequence                                                                      | \u003c-\u003e                                                       ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSamirPaulb%2FDSAlgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSamirPaulb%2FDSAlgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSamirPaulb%2FDSAlgo/lists"}