Guys Edit the document use the - [ ] and - [x] syntax to update your task list.
- 1.Find pair with given sum in the array
- 2.Check if subarray with 0 sum is exists or not
- 3.Print all sub-arrays with 0 sum
- 4.Sort binary array in linear time
- 5.Find a duplicate element in a limited range array
- 6.Find largest sub-array formed by consecutive integers
- 7.Find maximum length sub-array having given sum
- 8.Find maximum length sub-array having equal number of 0’s and 1’s
- 9.Sort an array containing 0’s, 1’s and 2’s (Dutch national flag problem)
- 10.Inplace merge two sorted arrays
- 11.Merge two arrays by satisfying given constraints
- 12.Find index of 0 to replaced to get maximum length sequence of continuous ones
- 13.Find maximum product of two integers in an array
- 14.Shuffle a given array of elements (Fisher–Yates shuffle)
- 15.Rearrange the array with alternate high and low elements
- 16.Find equilibrium index of an array
- 17.Find majority element in an array (Boyer–Moore majority vote algorithm)
- 18.Move all zeros present in the array to the end
- 19.Replace each element of array with product of every other element without using / operator
- 20.Find Longest Bitonic Subarray in an array
- 21.Find maximum difference between two elements in the array by satisfying given constraints
- 22.Maximum subarray problem (Kadane’s algorithm)
- 23.Print continuous subarray with maximum sum
- 24.Maximum Sum Circular Subarray
- 25.Find all distinct combinations of given length
- 26.Find all distinct combinations of given length with repetition allowed
- 27.Find maximum sequence of continuous 1’s formed by replacing at-most k zeroes by ones
- 28.Find minimum sum subarray of given size k
- 29.Find subarray having given sum in given array of integers
- 30.Find the length of smallest subarray whose sum of elements is greater than the given number
- 31.Find largest number possible from set of given numbers
- 32.Find the smallest window in array sorting which will make the entire array sorted
- 33.Find maximum sum path involving elements of given arrays
- 34.Maximum profit earned by buying and selling shares any number of times
- 35.Trapping Rain Water within given set of bars
- 36.Longest Increasing Subsequence
- 37.Longest Decreasing Subsequence Problem
- 38.Find maximum product subarray in a given array
- 39.Find maximum sum of subsequence with no adjacent elements
- 40.Find minimum platforms needed in the station so to avoid any delay in arrival of any train
- 41.Decode the array constructed from another array
- 42.Sort an array using one swap
- 43.Find Triplet with given sum in an array
- 44.Length of longest continuous sequence with same sum in given binary arrays
- 45.Rearrange array such that A[A[i]] is set to i for every element A[i]
- 46.Reverse every consecutive m elements of the given subarray
- 47.Maximum Product Subset Problem
- 48.Find pairs with given difference k in the array
- 49.Find pairs with given difference k in the array | Constant space solution
- 50.4 sum problem | Quadruplets with given sum
- 51.Print all quadruplets with given sum | 4-sum problem extended
- 52.Find odd occurring element in an array in single traversal
- 53.Find two odd occurring element in an array without using any extra space
- 54.Quickselect Algorithm
- 55.Print all Triplets that forms Arithmetic Progression
- 56.Print all triplets that forms Geometric Progression
- 57.Print all combination of numbers from 1 to n having sum n
- 58.Replace each element of the array by its corresponding rank in the array
- 59.Print all Triplets in an array with sum less than or equal to given number
- 60.Group elements of an array based on their first occurrence
- 61.Find minimum difference between index of two given elements present in the array
- 62.Find maximum absolute difference between sum of two non-overlapping sub-arrays
- 63.Find all Symmetric Pairs in an Array of Pairs
- 64.Partition an array into two sub-arrays with the same sum
- 65.Find count of distinct elements in every sub-array of size k
- 66.Find two numbers with maximum sum formed by array digits
- 67.Print all sub-arrays of an array having distinct elements
- 68.Find a Triplet having Maximum Product in an Array
- 69.Find ways to calculate a target from elements of specified array
- 70.Find Minimum Index of Repeating Element in an Array
- 71.Generate Random Input from an Array according to given Probabilities
- 72.Find pair in an array having minimum absolute sum
- 73.Find Index of Maximum Occurring Element with Equal Probability
- 74.Check if an Array is Formed by Consecutive Integers
- 75.Find two non-overlapping pairs having same sum in an array
- 76.Find Minimum Product among all Combinations of Triplets in an Array
- 77.Replace every element of an array with the least greater element on its right
- 78.Find all odd occurring elements in an array having limited range of elements
- 79.Add elements of two arrays into a new array
- 80.Count the distinct absolute values in the sorted array
- 81.Print all combinations of positive integers in increasing order that sum to a given number
- 82.Find all distinct combinations of given length — Part 2
- 83.Find subarrays with given sum in an array
- 84.Find the surpasser count for each element of an array
- 85.Find maximum length sequence of continuous ones (Using Sliding Window)
- 86.Find maximum length sequence of continuous ones
- 87.Merging Overlapping Intervals
- 88.Activity Selection Problem
- 89.Job Sequencing Problem with Deadlines
- 90.Introduction to Priority Queues using Binary Heaps
- 91.Min Heap and Max Heap Implementation in C++
- 92.Min Heap and Max Heap Implementation in Java
- 93.Heap Sort (Out-of-place and In-place implementation in C++ and C)
- 94.Check if given array represents min heap or not
- 95.Convert Max Heap to Min Heap in linear time
- 96.Find K’th largest element in an array
- 97.Sort a K-Sorted Array
- 98.Merge M sorted lists of variable length
- 99.Find K’th smallest element in an array
- 100.Find smallest range with at-least one element from each of the given lists
- 101.Merge M sorted lists each containing N elements
- 102.Insertion sort | Iterative & Recursive
- 103.Selection sort | Iterative & Recursive
- 104.Bubble sort | Iterative & Recursive
- 105.Merge Sort
- 106.Quicksort
- 107.Iterative Implementation of Quicksort
- 108.Hybrid QuickSort
- 109.Quicksort using Dutch National Flag Algorithm
- 110.Quick Sort using Hoare’s Partitioning scheme
- 111.External merge sort
- 112.Custom Sort | Sort elements by their frequency and Index
- 113.Custom Sort | Sort elements of the array by order of elements defined by the second array
- 114.Inversion Count of an array
- 115.Segregate positive and negative integers in linear time
- 116.Binary Search
- 117.Ternary Search vs Binary search
- 118.Interpolation search
- 119.Exponential search
- 120.Find number of rotations in a circularly sorted array
- 121.Search an element in a circular sorted array
- 122.Find first or last occurrence of a given number in a sorted array
- 123.Count occurrences of a number in a sorted array with duplicates
- 124.Find smallest missing element from a sorted array
- 125.Find Floor and Ceil of a number in a sorted array
- 126.Search in a nearly sorted array in O(logn) time
- 127.Find number of 1’s in a sorted binary array
- 128.Find the peak element in an array
- 129.Maximum Sum Subarray using Divide & Conquer
- 130.Find Minimum and Maximum element in an array using minimum comparisons
- 131.Matrix Chain Multiplication
- 132.0–1 Knapsack problem
- 133.Maximize value of the expression
- 134.Partition problem
- 135.Subset sum problem
- 136.Minimum Sum Partition problem
- 137.Rod Cutting
- 138.Coin change-making problem (unlimited supply of coins)
- 139.Coin Change Problem (Total number of ways to get the denomination of coins)
- 140.Longest alternating subsequence
- 141.Combinations of words formed by replacing given numbers with corresponding alphabets
- 142.Decode the given sequence to construct minimum number without repeated digits
- 143.All combinations of elements satisfying given constraints
- 144.Find Missing Term in a Sequence in log(n) time
- 145.Print all distinct Subsets of a given Set
- 146.Find Floor and Ceil of a number in a sorted array (Recursive solution)
- 147.Set both elements of a binary array to 0 in single line
- 148.K-Partition Problem | Printing all Partitions
- 149.3 Partition Problem
- 150.3-partition problem extended | Print all partitions
- 151.Iterative Merge Sort Algorithm (Bottom-up Merge Sort)
- 152.Find two duplicate elements in an limited range array (using XOR)
- 153.Find missing number and duplicate elements in an array
- 154.Find Minimum and Maximum element in an array by doing minimum comparisons
- 155.Find Frequency of each element in a sorted array containing duplicates
- 156.Difference between Subarray, Subsequence and Subset
- 1.Print all possible solutions to N Queens problem
- 2.Print all Possible Knight’s Tours in a chessboard
- 3.Find Shortest Path in Maze
- 4.Find Longest Possible Route in a Matrix
- 5.Find path from source to destination in a matrix that satisfies given constraints
- 6.Find total number of unique paths in a maze from source to destination
- 7.Print All Hamiltonian Path present in a graph
- 8.Print all k-colorable configurations of the graph (Vertex coloring of graph)
- 9.Find all Permutations of a given string
- 10.All combinations of elements satisfying given constraints
- 11.Find all binary strings that can be formed from given wildcard pattern
- 12.K-Partition Problem | Printing all Partitions
- 13.Magnet Puzzle
- 14.Find ways to calculate a target from elements of specified array
- 15.Find minimum number possible by doing at-most K swaps
- 16.Determine if a pattern matches with a string or not
- 1.Bit Hacks — Part 1 (Basic)
- 2.Bit Hacks — Part 2 (Playing with k’th bit)
- 3.Bit Hacks — Part 3 (Playing with rightmost set bit of a number)
- 4.Bit Hacks — Part 4 (Playing with letters of English alphabet)
- 5.Bit Hacks — Part 5 (Find absolute value of an integer without branching)
- 6.Bit Hacks — Part 6 (Random Problems)
- 7.Brian Kernighan’s Algorithm to count set bits in an integer
- 8.Compute parity of a number using lookup table
- 9.Count set bits using lookup table
- 10.Find the minimum or maximum of two integers without using branching
- 11.Multiply 16-bit integers using 8-bit multiplier
- 12.Round up to the next highest power of 2
- 13.Round up to the previous power of 2
- 14.Swap individual bits at given position in an integer
- 15.Check if given number is power of 4 or not
- 16.Reverse Bits of a given Integer
- 17.Find odd occurring element in an array in single traversal
- 18.Find two odd occurring element in an array without using any extra space
- 19.Swap two bits at given position in an integer
- 20.Add binary representation of two integers
- 21.Swap Adjacent Bits of a Number
- 22.Print all distinct Subsets of a given Set
- 23.Perform Division of two numbers without using division operator (/)
- 24.Check if adjacent bits are set in binary representation of a given number
- 25.Conditionally negate a value without branching
- 26.Find two duplicate elements in an limited range array (using XOR)
- 27.Find missing number and duplicate elements in an array
- 28.Check if given number is power of 8 or not
- 29.Circular shift on binary representation of an integer by k positions
- 30.Solve given set of problems without using multiplication or division operators
- 31.Reverse Bits of an integer using lookup table
- 32.Generate binary numbers between 1 to N
- 33.Efficiently implement power function | Recursive and Iterative
- 34.Find square of a number without using multiplication and division operator | 3 methods
- 35.Generate power set of a given set
- 36.Huffman Coding
- 37.Find all odd occurring elements in an array having limited range of elements
- 1.Check if two given binary trees are identical or not | Iterative & Recursive
- 2.Calculate height of a binary tree | Iterative & Recursive
- 3.Delete given Binary Tree | Iterative & Recursive
- 4.Inorder Tree Traversal | Iterative & Recursive
- 5.Preorder Tree Traversal | Iterative & Recursive
- 6.Postorder Tree Traversal | Iterative & Recursive
- 7.Level Order Traversal of Binary Tree
- 8.Spiral Order Traversal of Binary Tree
- 9.Reverse Level Order Traversal of Binary Tree
- 10.Print all nodes of a given binary tree in specific order
- 11.Print left view of binary tree
- 12.Print Bottom View of Binary Tree
- 13.Print Top View of Binary Tree
- 14.Find next node in same level for given node in a binary tree
- 15.Check if given binary tree is complete binary tree or not
- 16.Determine if given two nodes are cousins of each other
- 17.Print cousins of given node in a binary tree
- 18.In-place convert given binary tree to its sum tree
- 19.Check if given binary tree is a sum tree or not
- 20.Combinations of words formed by replacing given numbers with corresponding alphabets
- 21.Determine if given binary tree is a subtree of another binary tree or not
- 22.Find diameter of a binary tree
- 23.Check if given binary Tree has symmetric structure or not
- 24.Convert binary tree to its mirror
- 25.Check if binary tree can be converted to another by doing any no. of swaps of left & right child
- 26.Find Lowest Common Ancestor (LCA) of two nodes in a binary tree
- 27.Print all paths from root to leaf nodes in given binary tree
- 28.Find ancestors of given node in a Binary Tree
- 29.Find the distance between given pairs of nodes in a binary tree
- 30.Find Vertical Sum in a given Binary Tree
- 31.Print nodes in vertical order of a given Binary Tree (Vertical Traversal)
- 32.Find the diagonal sum of given binary tree
- 33.Print Diagonal Traversal of Binary Tree
- 34.Print corner nodes of every level in binary tree
- 35.In-place convert convert given Binary Tree to Doubly Linked List
- 36.Sink nodes containing zero to the bottom of the binary tree
- 37.Convert given binary tree to full tree by removing half nodes
- 38.Truncate given binary tree to remove nodes which lie on a path having sum less than K
- 39.Find maximum sum root-to-leaf path in a binary tree
- 40.Check if given binary tree is height balanced or not
- 41.Convert normal binary tree to Left-child right-sibling binary tree
- 42.Determine if given Binary Tree is a BST or not
- 43.Convert a Binary Tree to BST by maintaining its original structure
- 44.Invert given Binary Tree | Recursive and Iterative solution
- 45.Print Right View of a Binary Tree
- 46.Print leaf to root path for every leaf node in a binary tree
- 47.Find maximum width of given binary tree
- 48.Build Binary Tree from given Parent array
- 49.C++ Program to Print Binary Tree Structure
- 50.Find all nodes at given distance from leaf nodes in a binary tree
- 51.Count all subtrees having same value of nodes in a binary tree
- 52.Find Maximum Difference Between a Node and its Descendants in a Binary Tree
- 53.Construct a Binary Tree from Ancestor Matrix
- 54.Calculate height of a binary tree with leaf nodes forming a circular doubly linked list
- 1.Insertion in BST
- 2.Search given key in BST
- 3.Deletion from BST
- 4.Construct balanced BST from given keys
- 5.Determine if given Binary Tree is a BST or not
- 6.Check if given keys represents same BSTs or not without building the BST
- 7.Find inorder predecessor for given key in a BST
- 8.Find Lowest Common Ancestor (LCA) of two nodes in a Binary Search Tree
- 9.Find K’th smallest and K’th largest element in BST
- 10.Floor and Ceil in a Binary Search Tree
- 11.Find optimal cost to construct binary search tree
- 12.Convert a Binary Tree to BST by maintaining its original structure
- 13.Remove nodes from BST that have keys outside the valid range
- 14.Find a pair with given sum in a BST
- 15.Find inorder successor for given key in a BST
- 16.Replace every element of an array with the least greater element on its right
- 1.Binary Search
- 2.Find number of rotations in a circularly sorted array
- 3.Search an element in a circular sorted array
- 4.Find first or last occurrence of a given number in a sorted array
- 5.Count occurrences of a number in a sorted array with duplicates
- 6.Find smallest missing element from a sorted array
- 7.Find Floor and Ceil of a number in a sorted array
- 8.Search in a nearly sorted array in O(logn) time
- 9.Find number of 1’s in a sorted binary array
- 10.Find the peak element in an array
- 11.Maximum Sum Subarray using Divide & Conquer
- 12.Find Minimum and Maximum element in an array using minimum comparisons
- 13.Efficiently implement power function | Recursive and Iterative
- 14.Find Missing Term in a Sequence in log(n) time
- 15.Division of Two Numbers using Binary Search Algorithm
- 16.Find Floor and Ceil of a number in a sorted array (Recursive solution)
- 17.Find Minimum and Maximum element in an array by doing minimum comparisons
- 18.Find Frequency of each element in a sorted array containing duplicates
- 19.Ternary Search vs Binary search
- 20.Exponential search
- 21.Interpolation search
- 22.Merge Sort Algorithm
- 23.Iterative Merge Sort Algorithm (Bottom-up Merge Sort)
- 24.Merge Sort Algorithm for Singly Linked List
- 25.Inversion Count of an array
- 26.Quicksort Algorithm
- 27.Iterative Implementation of Quicksort
- 28.Hybrid QuickSort
- 29.Quicksort using Dutch National Flag Algorithm
- 30.Quick Sort using Hoare’s Partitioning scheme
- 1.Introduction to Dynamic Programming
- 2.Longest Common Subsequence | Introduction & LCS Length
- 3.Longest Common Subsequence | Space optimized version
- 4.Longest Common Subsequence of K-sequences
- 5.Longest Common Subsequence | Finding all LCS
- 6.Longest Common Substring problem
- 7.Longest Palindromic Subsequence using Dynamic Programming
- 8.Longest Repeated Subsequence problem
- 9.Implement Diff Utility
- 10.Shortest Common Supersequence | Introduction & SCS Length
- 11.Shortest Common Supersequence | Finding all SCS
- 12.Shortest Common Supersequence | Using LCS
- 13.Longest Increasing Subsequence using Dynamic Programming
- 14.Longest Bitonic Subsequence
- 15.Increasing Subsequence with Maximum Sum
- 16.The Levenshtein distance (Edit distance) problem
- 17.Find size of largest square sub-matrix of 1’s present in given binary matrix
- 18.Matrix Chain Multiplication
- 19.Find the minimum cost to reach last cell of the matrix from its first cell
- 20.Find longest sequence formed by adjacent numbers in the matrix
- 21.Count number of paths in a matrix with given cost to reach destination cell
- 22.0–1 Knapsack problem
- 23.Maximize value of the expression
- 24.Partition problem
- 25.Subset sum problem
- 26.Minimum Sum Partition problem
- 27.Find all N-digit binary strings without any consecutive 1’s
- 28.Rod Cutting
- 29.Maximum Product Rod Cutting
- 30.Coin change-making problem (unlimited supply of coins)
- 31.Coin Change Problem — Find total number of ways to get the denomination of coins
- 32.Total possible solutions to linear equation of k variables
- 33.Longest alternating subsequence
- 34.Count number of times a pattern appears in given string as a subsequence
- 35.Collect maximum points in a matrix by satisfying given constraints
- 36.Count total possible combinations of N-digit numbers in a mobile keypad
- 37.Find optimal cost to construct binary search tree
- 38.Word Break Problem
- 39.Word Break Problem | Using Trie Data Structure
- 40.Determine Minimal Adjustment Cost of an Array
- 41.Check if a string is K-Palindrome or not
- 42.Wildcard Pattern Matching
- 43.Find probability that a person is alive after taking N steps on the island
- 44.Calculate sum of all elements in a sub-matrix in constant time
- 45.Find maximum sum K x K sub-matrix in a given M x N matrix
- 46.Find maximum sum submatrix present in a given matrix
- 47.Find maximum sum of subsequence with no adjacent elements
- 48.Maximum subarray problem (Kadane’s algorithm)
- 49.Single-Source Shortest Paths — Bellman Ford Algorithm
- 50.All-Pairs Shortest Paths — Floyd Warshall Algorithm
- 51.Longest Decreasing Subsequence Problem
- 52.Pots of Gold Game using Dynamic Programming
- 53.Find minimum cuts needed for palindromic partition of a string
- 54.Maximum Length Snake Sequence
- 55.3 Partition Problem
- 56.Calculate size of the largest plus of 1’s in binary matrix
- 57.Check if given string is interleaving of two other given strings
- 58.Longest Increasing Subsequence using LCS
- 59.Determine negative-weight cycle in a graph
- 1.Terminology and Representations of Graphs
- 2.Graph Implementation using STL
- 3.Graph Implementation in C++ without using STL
- 4.Implement Graph Data Structure in C
- 5.Graph Implementation in Java using Collections
- 6.Breadth First Search (BFS) | Iterative & Recursive Implementation
- 7.Depth First Search (DFS) | Iterative & Recursive Implementation
- 8.Arrival and Departure Time of Vertices in DFS
- 9.Types of edges involved in DFS and relation between them
- 10.Bipartite Graph
- 11.Determine if a given graph is Bipartite Graph using DFS
- 12.Minimum number of throws required to win Snake and Ladder game
- 13.Topological Sorting in a DAG
- 14.Kahn’s Topological Sort Algorithm
- 15.Transitive Closure of a Graph
- 16.Check if an undirected graph contains cycle or not
- 17.Total paths in given digraph from given source to destination having exactly m edges
- 18.Determine if an undirected graph is a Tree (Acyclic Connected Graph)
- 19.2-Edge Connectivity in the graph
- 20.2-Vertex Connectivity in the graph
- 21.Check if given digraph is a DAG (Directed Acyclic Graph) or not
- 22.Disjoint-Set Data Structure (Union-Find Algorithm)
- 23.Chess Knight Problem — Find Shortest path from source to destination
- 24.Check if given Graph is Strongly Connected or not
- 25.Check if given Graph is Strongly Connected or not using one DFS Traversal
- 26.Union-Find Algorithm for Cycle Detection in undirected graph
- 27.Kruskal’s Algorithm for finding Minimum Spanning Tree
- 28.Single-Source Shortest Paths — Dijkstra’s Algorithm
- 29.Single-Source Shortest Paths — Bellman Ford Algorithm
- 30.All-Pairs Shortest Paths — Floyd Warshall Algorithm
- 31.Find Cost of Shortest Path in DAG using one pass of Bellman-Ford
- 32.Least Cost Path in Weighted Digraph using BFS
- 33.Find maximum cost path in graph from given source to destination
- 34.Determine negative-weight cycle in a graph
- 35.Print all k-colorable configurations of the graph (Vertex coloring of graph)
- 36.Print All Hamiltonian Path present in a graph
- 37.Greedy coloring of graph
- 1.Introduction to Priority Queues using Binary Heaps
- 2.Min Heap and Max Heap Implementation in C++
- 3.Min Heap and Max Heap Implementation in Java
- 4.Heap Sort
- 5.Check if given array represents min heap or not
- 6.Convert Max Heap to Min Heap in linear time
- 7.Find K’th largest element in an array
- 8.Sort a K-Sorted Array
- 9.Merge M sorted lists of variable length
- 10.Find K’th smallest element in an array
- 11.Find smallest range with at-least one element from each of the given lists
- 12.Merge M sorted lists each containing N elements
- 13.External merge sort
- 14.Huffman Coding
- 15.Find first k maximum occurring words in given set of strings
- 16.Find first k non-repeating characters in a string in single traversal
- 1.Introduction to Linked Lists
- 2.Linked List Implementation | Part 1
- 3.Linked List Implementation | Part 2
- 4.Static Linked List in C
- 5.Clone given Linked List
- 6.Delete Linked List
- 7.Pop operation in linked list
- 8.Insert given node into the correct sorted position in the given sorted linked list
- 9.Given a linked list, change it to be in sorted order
- 10.Split the nodes of the given linked list into front and back halves
- 11.Remove duplicates from a sorted linked list
- 12.Move front node of the given list to the front of the another list
- 13.Move even nodes to the end of the list in reverse order
- 14.Split given linked list into two lists where each list containing alternating elements from it
- 15.Construct a linked list by merging alternate nodes of two given lists
- 16.Merge given sorted linked lists into one
- 17.Merge Sort Algorithm for Singly Linked List
- 18.Intersection of two given sorted linked lists
- 19.Reverse linked list | Part 1 (Iterative Solution)
- 20.Reverse linked list | Part 2 (Recursive Solution)
- 21.Reverse every group of k nodes in given linked list
- 22.Find K’th node from the end in a linked list
- 23.Merge alternate nodes of two linked lists into the first list
- 24.Merge two sorted linked lists from their end
- 25.Delete every N nodes in a linked list after skipping M nodes
- 26.Rearrange linked list in specific manner in linear time
- 27.Check if linked list is palindrome or not
- 28.Move last node to front in a given Linked List
- 29.Rearrange the linked list in specific manner
- 30.Detect Cycle in a linked list (Floyd’s Cycle Detection Algorithm)
- 31.Sort linked list containing 0’s, 1’s and 2’s
- 32.Stack Implementation using Linked List
- 33.Queue Implementation using Linked List
- 34.Remove duplicates from a linked list
- 35.Rearrange the linked list so that it has alternating high, low values
- 36.Rearrange a Linked List by Separating Odd Nodes from the Even Ones
- 37.Calculate height of a binary tree with leaf nodes forming a circular doubly linked list
- 1.Print Matrix in Spiral Order
- 2.Create Spiral Matrix from given array
- 3.Shift all matrix elements by 1 in Spiral Order
- 4.Find Shortest path from source to destination in a matrix that satisfies given constraints
- 5.Change all elements of row i and column j in a matrix to 0 if cell (i, j) has value 0
- 6.Print diagonal elements of the matrix having positive slope
- 7.Find all paths from first cell to last cell of a matrix
- 8.Replace all occurrences of 0 that are not surrounded by 1 in a binary matrix
- 9.In-place rotate the matrix by 90 degrees in clock-wise direction
- 10.Count negative elements present in sorted matrix in linear time
- 11.Report all occurrences of an element in row wise and column wise sorted matrix in linear time
- 12.Calculate sum of all elements in a sub-matrix in constant time
- 13.Find maximum sum K x K sub-matrix in a given M x N matrix
- 14.Find maximum sum submatrix present in a given matrix
- 15.Find probability that a person is alive after taking N steps on the island
- 16.Count the number of islands
- 17.Flood fill Algorithm
- 18.Find shortest safe route in a field with sensors present
- 19.Find all occurrences of given string in a character matrix
- 20.Shortest path in a Maze | Lee algorithm
- 21.Check if given matrix is Toeplitz matrix or not
- 22.In-place rotate the matrix by 180 degrees
- 23.Fill Binary Matrix with Alternating Rectangles of 0 and 1
- 24.Find all common elements present in every row of given matrix
- 25.Construct a Binary Tree from Ancestor Matrix
- 26.Find common elements present in all rows of a matrix
- 27.Travelling Salesman Problem using Branch and Bound
- 28.Collect maximum points in a matrix by satisfying given constraints
- 29.Count number of paths in a matrix with given cost to reach destination cell
- 30.Find longest sequence formed by adjacent numbers in the matrix
- 31.Find the minimum cost to reach last cell of the matrix from its first cell
- 32.Matrix Chain Multiplication
- 33.Find size of largest square sub-matrix of 1’s present in given binary matrix
- 34.Chess Knight Problem — Find Shortest path from source to destination
- 35.Find Duplicate rows in a binary matrix
- 36.Print all possible solutions to N Queens problem
- 37.Print all Possible Knight’s Tours in a chessboard
- 38.Find Shortest Path in Maze
- 39.Find Longest Possible Route in a Matrix
- 40.Calculate size of the largest plus of 1’s in binary matrix
- 41.Find the maximum value of M[c][d] — M[a][b] over all choices of indexes
- 42.Find shortest distance of every cell from landmine in a Maze
- 43.Find shortest route in a device to construct the given string
- 1.Queue Implementation
- 2.Queue Implementation using Linked List
- 3.Chess Knight Problem — Find Shortest path from source to destination
- 4.Shortest path in a Maze | Lee algorithm
- 5.Find shortest safe route in a field with sensors present
- 6.Flood fill Algorithm
- 7.Count the number of islands
- 8.Find Shortest path from source to destination in a matrix that satisfies given constraints
- 9.Generate binary numbers between 1 to N
- 10.Calculate height of a binary tree | Iterative & Recursive
- 11.Delete given Binary Tree | Iterative & Recursive
- 12.Level Order Traversal of Binary Tree
- 13.Spiral Order Traversal of Binary Tree
- 14.Reverse Level Order Traversal of Binary Tree
- 15.Print all nodes of a given binary tree in specific order
- 16.Print left view of binary tree
- 17.Find next node in same level for given node in a binary tree
- 18.Check if given binary tree is complete binary tree or not
- 19.Print Diagonal Traversal of Binary Tree
- 20.Print corner nodes of every level in binary tree
- 21.Breadth First Search (BFS) | Iterative & Recursive Implementation
- 22.Minimum number of throws required to win Snake and Ladder game
- 23.Check if an undirected graph contains cycle or not
- 24.Invert given Binary Tree | Recursive and Iterative solution
- 25.Find maximum cost path in graph from given source to destination
- 26.Find shortest distance of every cell from landmine in a Maze
- ### Sorting
- 1.Insertion sort | Iterative & Recursive
- 2.Selection sort | Iterative & Recursive
- 3.Bubble sort | Iterative & Recursive
- 4.Merge Sort Algorithm
- 5.Iterative Merge Sort Algorithm (Bottom-up Merge Sort)
- 6.Quicksort Algorithm
- 7.Iterative Implementation of Quicksort
- 8.Hybrid QuickSort
- 9.Quicksort using Dutch National Flag Algorithm
- 10.Quick Sort using Hoare’s Partitioning scheme
- 11.External merge sort
- 12.Counting Sort Algorithm
- 13.Custom Sort | Sort elements by their frequency and Index
- 14.Custom Sort | Sort elements of the array by order of elements defined by the second array
- 15.Inversion Count of an array
- 16.Segregate positive and negative integers in linear time
- 17.Efficiently Sort an Array with many Duplicated Values
- 18.Find the smallest window in array sorting which will make the entire array sorted
- 19.Find largest number possible from set of given numbers
- 20.Move all zeros present in the array to the end
- 21.Sort binary array in linear time
- 22.Sort linked list containing 0’s, 1’s and 2’s
- 23.Merge Sort Algorithm for Singly Linked List
- 24.Group anagrams together from given list of words
- 25.Activity Selection Problem
- 26.Lexicographic sorting of given set of keys
- 27.Heap Sort
- 28.Merge M sorted lists of variable length
- 29.Merge M sorted lists each containing N elements
- 30.Find all palindromic permutations of a string
- 31.Find all lexicographically next permutations of a string sorted in ascending order
- 32.Merge two sorted linked lists from their end
- 33.Sort an array containing 0’s, 1’s and 2’s (Dutch national flag problem)
- 34.Find pair with given sum in the array
- 35.Inplace merge two sorted arrays
- 36.Merge two arrays by satisfying given constraints
- 37.Find maximum product of two integers in an array
- 38.Find all distinct combinations of given length
- 39.Find all distinct combinations of given length with repetition allowed
- 40.Merging Overlapping Intervals
- 41.Print all quadruplets with given sum | 4-sum problem extended
- 42.4 sum problem | Quadruplets with given sum
- 43.Find two numbers with maximum sum formed by array digits
- 44.Find a Triplet having Maximum Product in an Array
- 45.Find Minimum Product among all Combinations of Triplets in an Array
- 46.Find all distinct combinations of given length — Part 2
- 47.Find the surpasser count for each element of an array
- 1.Stack Implementation
- 2.Stack Implementation using Linked List
- 3.Check if given expression is balanced expression or not
- 4.Find duplicate parenthesis in an expression
- 5.Evaluate given postfix expression
- 6.Decode the given sequence to construct minimum number without repeated digits
- 7.Inorder Tree Traversal | Iterative & Recursive
- 8.Preorder Tree Traversal | Iterative & Recursive
- 9.Postorder Tree Traversal | Iterative & Recursive
- 10.Find ancestors of given node in a Binary Tree
- 11.Check if two given binary trees are identical or not | Iterative & Recursive
- 12.Reverse given text without reversing the individual words
- 13.Find all binary strings that can be formed from given wildcard pattern
- 14.Iterative Implementation of Quicksort
- 15.Depth First Search (DFS) | Iterative & Recursive Implementation
- 16.Invert given Binary Tree | Recursive and Iterative solution
- 17.Print leaf to root path for every leaf node in a binary tree
- 1.Check if given string is a rotated palindrome or not
- 2.Longest Palindromic Substring (Non-DP Space Optimized Solution)
- 3.Check if repeated subsequence is present in the string or not
- 4.Check if strings can be derived from each other by circularly rotating them
- 5.Check if given set of moves is circular or not
- 6.Convert given number into corresponding excel column name
- 7.Determine if two strings are anagram or not
- 8.Find all binary strings that can be formed from given wildcard pattern
- 9.Find all interleavings of given strings
- 10.Isomorphic Strings
- 11.Find all possible palindromic substrings in a string
- 12.Find all possible combinations of words formed from mobile keypad
- 13.Find all possible combinations by replacing given digits with characters of the corresponding list
- 14.Find all words from given list that follows same order of characters as given pattern
- 15.Find first k non-repeating characters in a string in single traversal
- 16.Group anagrams together from given list of words
- 17.Introduction to Pattern Matching
- 18.Inplace remove all occurrences of ‘AB’ and ‘C’ from the string
- 19.Longest even length palidromic sum substring
- 20.Print string in zig-zag form in k rows
- 21.Reverse given text without reversing the individual words
- 22.Run Length Encoding (RLE) data compression algorithm
- 23.Validate an IP address
- 24.Find the longest substring of given string containing k distinct characters
- 25.Find all palindromic permutations of a string
- 26.Find all substrings of a string that are permutation of a given string
- 27.Find the longest substring of given string containing all distinct characters
- 28.Find all Permutations of a given string
- 29.Iterative Approach to find Permutations of a String in C++ and Java
- 30.Generate all Permutations of a String in Java | Recursive & Iterative
- 31.Find all lexicographically next permutations of a string sorted in ascending order
- 32.Find Lexicographically minimal string rotation
- 33.Find all strings of given length containing balanced parentheses
- 34.Find all N-digit strictly increasing numbers (Bottom-Up and Top-Down Approach)
- 35.Find all N-digit binary numbers having more 1’s than 0’s for any prefix
- 36.Find all N-digit numbers with given sum of digits
- 37.Find all N-digit binary numbers with k-bits set where k ranges from 1 to N
- 38.Generate binary numbers between 1 to N
- 39.Find all combinations of non-overlapping substrings of a string
- 40.Check if given sentence is syntactically correct or not
- 41.Calculate rank of given string among all its lexicographically sorted permutations
- 42.Find all Lexicographic Permutations of a String
- 43.Find all N-digit binary numbers with equal sum of bits in its two halves
- 44.Check if given string is interleaving of two other given strings
- 45.Difference between Subarray, Subsequence and Subset
- 46.std::next_permutation | Overview & Implementation in C++
- 47.std::prev_permutation | Overview & Implementation in C++
- 48.Implementation of KMP Algorithm in C, C++ and Java
- 49.Reverse String without using Recursion
- 50.Reverse given string using Recursion
- 51.Reverse a String in Java in 10 different ways
- 52.Determine if a given string is palindrome or not
- 53.In-place remove all adjacent duplicates from the given string
- 54.Find the minimum number of inversions needed to make the given expression balanced
- 55.Replace all non-overlapping occurrences of the pattern
- 56.Construct the longest palindrome by shuffling or deleting characters from a string
- 57.Determine if characters of a String follows a specified order or not
- 58.Print all combinations of phrases that can be formed by picking words from each of the given lists
- 59.Remove all extra spaces from a string
- 60.Break a string into all possible combinations of non-overlapping substrings
- 61.Remove adjacent duplicate characters from a string
- 62.Combinations of words formed by replacing given numbers with corresponding alphabets
- 63.Word Break Problem
- 64.Wildcard Pattern Matching
- 65.Count number of times a pattern appears in given string as a subsequence
- 66.The Levenshtein distance (Edit distance) problem
- 67.Longest Common Subsequence | Introduction & LCS Length
- 68.Longest Common Subsequence | Space optimized version
- 69.Longest Common Subsequence of K-sequences
- 70.Longest Common Subsequence | Finding all LCS
- 71.Longest Repeated Subsequence problem
- 72.Longest Palindromic Subsequence using Dynamic Programming
- 73.Longest Common Substring problem
- 74.Shortest Common Supersequence | Introduction & SCS Length
- 75.Shortest Common Supersequence | Finding all SCS
- 76.Shortest Common Supersequence | Using LCS
- 77.Implement Diff Utility
- 78.Word Break Problem | Using Trie Data Structure
- 79.Find minimum cuts needed for palindromic partition of a string
- 80.Check if a string is K-Palindrome or not
- 81.Find shortest route in a device to construct the given string
- 82.Find minimum number possible by doing at-most K swaps
- 83.Determine if a pattern matches with a string or not
- 1.Trie Implementation | Insert, Search and Delete
- 2.Memory efficient Trie Implementation using Map | Insert, Search and Delete
- 3.C++ Implementation of Trie Data Structure
- 4.Longest Common Prefix in given set of strings (using Trie)
- 5.Lexicographic sorting of given set of keys
- 6.Find maximum occurring word in given set of strings
- 7.Find first k maximum occurring words in given set of strings
- 8.Find Duplicate rows in a binary matrix
- 9.Word Break Problem | Using Trie Data Structure
- ### Greedy
- 1.Activity Selection Problem
- 2.Huffman Coding
- 3.Shortest Superstring Problem
- 4.Job Sequencing Problem with Deadlines
- 5.Greedy coloring of graph
- 6.Kruskal’s Algorithm for finding Minimum Spanning Tree
- 7.Single-Source Shortest Paths — Dijkstra’s Algorithm
- 1.Clock angle problem — Find angle between hour and minute hand
- 2.Add two numbers without using addition operator | 4 methods
- 3.Generate power set of a given set
- 4.Implement power function without using multiplication and division operators
- 5.Print all numbers between 1 to N without using semicolon
- 6.Swap two numbers without using third variable | 5 methods
- 7.Determine the if condition to print specific output
- 8.Find maximum, minimum of three numbers without using conditional statement and ternary operator | 4 methods
- 9.Find numbers represented as sum of two cubes for two different pairs
- 10.Print “Hello World” with empty main() function | 3 methods
- 11.Tower of Hanoi Problem
- 12.Print all numbers between 1 to N without using any loop | 4 methods
- 13.Print a semicolon without using semicolon anywhere in the program
- 14.Multiply two numbers without using multiplication operator or loops
- 15.Find square of a number without using multiplication and division operator | 3 methods
- 16.Find if a number is even or odd without using any conditional statement
- 17.Set both elements of a binary array to 0 in single line
- 18.Find minimum number without using conditional statement or ternary operator
- 19.Perform Division of two numbers without using division operator (/)
- 20.Generate 0 and 1 with 75% and 25% Probability
- 21.Generate Desired Random Numbers With Equal Probability
- 22.Return 0, 1 and 2 with equal Probability using the specified function
- 23.Generate Fair Results from a Biased Coin
- 24.Generate numbers from 1 to 7 with equal probability using specified function
- 25.Implement Ternary Operator Without Using Conditional Expressions
- 26.Determine if two integers are equal without using comparison and arithmetic operators
- 27.Return 0 and 1 with equal Probability using the specified function
- 28.Generate Random Input from an Array according to given Probabilities
- 29.Generate Fair Results from a Biased Coin
- 30.Magnet Puzzle