If you appreciate my work, please π this repository. It motivates me. π π
DSA Sheet: https://bit.ly/pranayDSAsheet
Data-Structures-and-Algorithms
β LICENSE
β PREREQUISITES.md
β README.md
β SYLLABUS.md
β
ββββ01. DataStructures
β ββββ01. Linked List
β β ββββ1. Singly-Linked-List
β β β ββββBasic Operations
β β β β README.md
β β β β SinglyLL.cpp
β β β β SinglyLL.java
β β β β
β β β ββββInterviewBit Questions
β β β ββββ01. ReverseLL
β β β β README.md
β β β β solution 1.java
β β β β
β β β ββββ02. IntersectionOfLL
β β β β README.md
β β β β solution 2.java
β β β β
β β β ββββ03. Kth Node From Middle
β β β β README.md
β β β β solution 3.java
β β β β
β β β ββββ04. Palindrome List GQ
β β β β README.md
β β β β solution 4.java
β β β β
β β β ββββ05. Merge Two Sorted List GQ
β β β β Apna College Solution (Good Explaination).md
β β β β solution 5 ApnaCollege.java
β β β β solution 5 Striver.java
β β β β Striver Solution.md
β β β β
β β β ββββ06. Remove Duplicates From Sorted List
β β β β README.md
β β β β solution 6.java
β β β β
β β β ββββ07. Remove Duplicates From Sorted List- II GQ
β β β β README.md
β β β β solution 7.java
β β β β
β β β ββββ08. Remove nth Node from List end GQ
β β β β README.md
β β β β solution 8.java
β β β β
β β β ββββ09. Add two no. as List
β β β β README.md
β β β β solution 9.java
β β β β
β β β ββββ10. Reverse LL in K group GQ
β β β β Iterative Solution Self.md
β β β β Recursive Solution Apna College.md
β β β β solution 10-AC.java
β β β β solution 10-self.java
β β β β
β β β ββββ11. Rotate LL by K place
β β β β README.md
β β β β solution 11.java
β β β β
β β β ββββ12. Reverse LL-ii
β β β README.md
β β β solution 12.java
β β β
β β ββββ2. Doubly-Linked-List
β β β ββββBasic Operations
β β β β DoublyLL.java
β β β β README.md
β β β β
β β β ββββQuestions
β β β ββββ1. Two Pair Sum
β β β 2 pair sum Q.pdf
β β β 2 pair sum solution.java
β β β
β β ββββ3. Circular-Linked-List
β β CircularLL.java
β β README.md
β β
β ββββ02. Stack
β β ββββBasic Operation
β β β ββββ1. Stack using Array
β β β β Resources.md
β β β β Stack_Array.java
β β β β
β β β ββββ2. Stack using LinkList
β β β β Resources.md
β β β β Stack_LinkList.java
β β β β
β β β ββββ3. Stack using Queue
β β β Resources.md
β β β Stack_Queue.java
β β β
β β ββββInfix Prefix Postfix
β β β ββββ01. Infix to Postfix
β β β β infixPostfix.cpp
β β β β InfixPostfix.java
β β β β pseudocode.png
β β β β README.md
β β β β
β β β ββββ02. Infix to Prefix
β β β β InfixPrefix.java
β β β β pseudocode.png
β β β β README.md
β β β β
β β β ββββ03. Postfix to Infix
β β β β PostfixInfix.java
β β β β pseudocode.png
β β β β README.md
β β β β
β β β ββββ04. Prefix to Infix
β β β β PrefixInfix.java
β β β β pseudocode.png
β β β β README.md
β β β β
β β β ββββ05. Postfix to Prefix
β β β β PostfixPrefix.java
β β β β pseudocode.png
β β β β README.md
β β β β
β β β ββββ06. Prefix to Postfix
β β β PrefixPostfix.java
β β β pseudocode.png
β β β README.md
β β β
β β ββββLeetCode Questions
β β ββββ01. Remove Outermost Parentheses #1021
β β β Remove Outermost Parentheses.md
β β β Solution.java
β β β
β β ββββ02. Remove All Adjacent Duplicates In String #1047
β β β Remove All Adjacent Duplicates In String.md
β β β Solution.java
β β β Solution_Vikash.java
β β β
β β ββββ03. Build an Array With Stack Operations #1441
β β β Resources.md
β β β Solution.java
β β β
β β ββββ04. Baseball Game #682
β β β Resources.md
β β β Solution.java
β β β
β β ββββ05. Next Greater Element I #496
β β β Resources.md
β β β Solution_Optimised.java
β β β Solution_self.java
β β β
β β ββββ06. Crawler Log Folder #1598
β β β Resources.md
β β β Solution.java
β β β
β β ββββ07. Make The String Great #1544
β β β Resources.md
β β β Solution_self.java
β β β Solution_Vikash.java
β β β
β β ββββ08. Backspace String Compare #844
β β β Resources.md
β β β Solution_self.java
β β β Solution_Vikash.java
β β β
β β ββββ09. Valid Parentheses #20
β β β Resources.md
β β β Solution.java
β β β
β β ββββ10. Design a Stack With Increment Operation #1381
β β β Resources.md
β β β Solution.java
β β β
β β ββββ11. Minimum Add to Make Parentheses Valid #921
β β β Resources.md
β β β Solution.java
β β β
β β ββββ12. Score of Parentheses #856
β β β Resources.md
β β β Solution.java
β β β
β β ββββ13. Daily Temperatures #739
β β β Resources.md
β β β Solution.java
β β β
β β ββββ14. Validate Stack Sequences #946
β β Resources.md
β β Solution.java
β β
β ββββ03. Queue
β β ββββBasic Operations
β β ββββ01. Queue using Array
β β β pseudocode.png
β β β Queue_Array.java
β β β Resources.md
β β β
β β ββββ02. Queue using Linked List
β β β Queue_LinkedList.java
β β β Resources.md
β β β
β β ββββ03. Queue using Stacks
β β β Queue_Stack.java
β β β Resources.md
β β β
β β ββββ04. Circular Queue using Array
β β β CircularQueue_Array.java
β β β Resources.md
β β β
β β ββββ05. Circular Queue using Linked List
β β β CircularQueue_LinkedList.java
β β β Resources.md
β β β
β β ββββ06. Dequeue using circular array
β β β Dequeue_CircularArray.java
β β β Resources.md
β β β
β β ββββ07. Priority Queue
β β KLargestElement.java
β β PriorityQueue.java
β β README.md
β β
β ββββ04. Tree
β β ββββ01. Introduction to Binary Tree
β β β README.md
β β β traversals.cpp
β β β
β β ββββ02. Binary Search Tree
β β β BinarySearchTree.cpp
β β β BinarySearchTree.java
β β β Readme.md
β β β
β β ββββ03. AVL Tree
β β β AVLTree.cpp
β β β AVLTree.java
β β β README.md
β β β
β β ββββ04. Trie
β β β README.md
β β β Trie_Array.java
β β β Trie_HashMap.java
β β β
β β ββββ05. Heap
β β MinHeap.cpp
β β MinHeap.java
β β README.md
β β
β ββββ05. ArrayList
β β ArrayList.java
β β
β ββββ06. HashMap
β β MyHashMap.java
β β README.md
β β
β ββββ07. Set
β β MyHashSet.java
β β MyLinkedHashSet.java
β β MyTreeSet.java
β β README.md
β β SubarrayWith0Sum.java
β β
β ββββ08. Graph
β MyGraph.java
β README.md
β
ββββ02. Algorithms
β README.md
β
ββββ01. Arrays
β ββββ01. Reverse an Array
β β README.md
β β ReverseArray.java
β β
β ββββ02. Find the maximum and minimum element in an array
β β README.md
β β
β ββββ03. 215. Kth Largest Element in an Array
β β brute_force.java
β β README.md
β β Using_priorityQueue.java
β β
β ββββ04. 75. Sort Colors OR Sort012
β β brute_force.java
β β Optimal_Solution.java
β β README.md
β β Solution.cpp
β β
β ββββ05. Move all negative numbers to one side
β β README.md
β β Solution.java
β β
β ββββ06. Find the Union and Intersection of Two Arrays
β β README.md
β β Union_and_Intersection.java
β β Using_BinarySearch.java
β β
β ββββ07. Cyclically Rotate an Array
β β Brute_Force.java
β β Optimal_Solution.java
β β README.md
β β
β ββββ08. Kadane's Algorithm
β β ββββ53. Maximum Subarray
β β β README.md
β β β Solution.java
β β β
β β ββββ918. Maximum Sum Circular Subarray
β β README.md
β β Solution.java
β β Solution2.java
β β
β ββββ09. Minimize the Heights II
β β README.md
β β Solution.java
β β
β ββββ10. 45. Jump Game II
β β README.md
β β Solution.java
β β
β ββββ11. Jumping on the Clouds
β README.md
β Solution.java
β Solution2.java
β
ββββ02. Sorting
β β README.md
β β
β ββββ01. Bubble Sort
β β BubbleSort.java
β β README.md
β β
β ββββ02. InsertionSort
β β Insertion_Sort.java
β β README.md
β β
β ββββ03. Selection Sort
β β README.md
β β Selection_Sort.java
β β
β ββββ04. Quick Sort
β β Quick_Sort.java
β β README.md
β β
β ββββ05. Merge Sort
β β Merge_Sort.java
β β README.md
β β
β ββββ06. Count Sort
β β Count_Sort.java
β β README.md
β β
β ββββ07. Radix Sort
β β Radix_Sort.java
β β README.md
β β
β ββββ08. Heap Sort
β β README.md
β β
β ββββ09. Cyclic Sort
β CyclicSort.java
β
ββββ03. Searching
β ββββ01. Linear Search
β β Linear_Search.java
β β Notes.pdf
β β README.md
β β
β ββββ02. Binary Search
β β Binary_Search.java
β β Notes.pdf
β β OrderAgnostic_BinarySearch.java
β β README.md
β β
β ββββProblems
β ββββ01. 1295. Find Numbers with Even Number of Digits
β β README.md
β β Solution.java
β β
β ββββ02. 1672. Richest Customer Wealth
β β README.md
β β Solution.java
β β
β ββββ03. Floor in a Sorted Array
β β README.md
β β Solution.java
β β
β ββββ04. Ceil in a Sorted Array
β β README.md
β β Solution.java
β β
β ββββ05. 744. Find Smallest Letter Greater Than Target
β β README.md
β β Solution.java
β β
β ββββ06. 34. Find First and Last Position of Element in Sorted Array
β β README.md
β β Solution.java
β β
β ββββ07. Find position of an element in an infinite sorted array
β β BS_in_InfiniteArray.java
β β README.md
β β
β ββββ08. 852. Peak Index in a Mountain Array
β β README.md
β β Solution1.java
β β Solution2.java
β β
β ββββ09. 162. Find Peak Element
β β README.md
β β Solution.java
β β
β ββββ10. 1095. Find in Mountain Array
β β README.md
β β Solution.java
β β
β ββββ11. 33. Search in Rotated Sorted Array
β β README.md
β β Solution.java
β β
β ββββ12. Find the Rotation Count in Rotated Sorted array
β β README.md
β β
β ββββ13. 410. Split Array Largest Sum
β β Dry run.pdf
β β README.md
β β Solution.java
β β
β ββββ14. 69. Sqrt(x)
β β README.md
β β Solution.java
β β Solution2.java
β β
β ββββ15. 278. First Bad Version
β β README.md
β β Solution.java
β β
β ββββ16. 167. Two Sum II - Input array is sorted
β better_approach.java
β brute-force.java
β optimal_approach.java
β README.md
β
ββββ04. Recursion
β README.md
β
ββββProblems
ββββ01. Sum triangle from array
README.md
Solution.java