Top Collection of Coding Interview Questions
Array, String and Some Data Structure

Find pair with given sum in the array

Check if subarray with 0 sum is exists or not

Print all subarrays with 0 sum

Sort binary array in linear time

Find a duplicate element in a limited range array

Find maximum length subarray having given sum

Find maximum length subarray having equal number of 0’s and 1’s

Find maximum product of two integers in an array

Sort an array containing 0’s, 1’s and 2’s (Dutch National Flag Problem)

In place merge two sorted arrays

Merge two arrays by satisfying given constraints

Find index of 0 to replace to get maximum length sequence of continuous ones

Shuffle a given array of elements (Fisher–Yates shuffle)

Rearrange the array with alternate high and low elements

Find equilibrium index of an array

Find largest subarray formed by consecutive integers

Find majority element (Boyer–Moore Majority Vote Algorithm)

Move all zeros present in the array to the end

Replace each element of array with product of every other element without using / operator

Find Longest Bitonic Subarray in an array

Longest Increasing Subsequence

Find maximum difference between two elements in the array by satisfying given constraints

Maximum Sum Subarray Problem (Kadane’s Algorithm)

Print continuous subarray with maximum sum

Maximum Sum Circular Subarray

Find all distinct combinations of given length — I

Find all distinct combinations of given length with repetition allowed

Find maximum sequence of continuous 1’s formed by replacing atmost k zeroes by ones

Find minimum sum subarray of given size k

Find maximum product subarray in a given array

Find subarray having given sum in given array of integers

Find the length of smallest subarray whose sum of elements is greater than the given number

Find largest number possible from set of given numbers

Find the smallest window in array sorting which will make the entire array sorted

Find maximum sum path involving elements of given arrays

Maximum profit earned by buying and selling shares any number of times

Trapping Rain Water within given set of bars

Find minimum platforms needed in the station so to avoid any delay in arrival of any train

Decode the array constructed from another array

Sort an array using one swap

Find Triplet with given sum in an array

Length of longest continuous sequence with same sum in given binary arrays

Reverse every consecutive m elements of the given subarray

Maximum Product Subset Problem

Find pairs with given difference k in the array

Find pairs with given difference k in the array  Constant space solution

4 sum problem  Quadruplets with given sum

Print all quadruplets with given sum  4sum problem extended

Quickselect Algorithm

Rearrange array such that A[A[i]] is set to i for every element A[i]

Print all Triplets that forms Arithmetic Progression

Print all Triplets that forms Geometric Progression

Print all combination of numbers from 1 to n having sum n

Replace each element of the array by its corresponding rank in the array

Print all Triplets in an array with sum less than or equal to given number

Group elements of an array based on their first occurrence

Find minimum difference between index of two given elements present in the array

Find maximum absolute difference between sum of two nonoverlapping subarrays

Find all Symmetric Pairs in an Array of Pairs

Partition an array into two subarrays with the same sum

Find count of distinct elements in every subarray of size k

Find two numbers with maximum sum formed by array digits

Print all subarrays of an array having distinct elements

Find a Triplet having Maximum Product in an Array

Find Minimum Index of Repeating Element in an Array

Generate random input from an array according to given probabilities

Find pair in an array having minimum absolute sum

Find Index of Maximum Occurring Element with Equal Probability

Check if an Array is Formed by Consecutive Integers

Find two nonoverlapping pairs having same sum in an array

Add elements of two arrays into a new array

Find Minimum Product among all Combinations of Triplets in an Array

Replace every element of an array with the least greater element on its right

Find all odd occurring elements in an array having limited range of elements

Count the distinct absolute values in the sorted array

Print all combinations of positive integers in increasing order that sum to a given number

Find all distinct combinations of given length — II

Find subarrays with given sum in an array

Find the surpasser count for each element of an array

Find maximum length sequence of continuous ones (Using Sliding Window)

Find maximum length sequence of continuous ones

Find index that divides an array into two nonempty subarrays of equal sum

Calculate frequency of all elements present in an array of specified range

Rearrange the array such that it contains positive and negative numbers at alternate positions

Find a sorted triplet in the given array

Shuffle an array according to the given order of elements

Count number of strictly increasing subarrays in an array

Find duplicates within given range k in an array

Longest Alternating Subarray Problem

Find minimum range with atleast one element from each of the given arrays

Find longest subsequence formed by consecutive integers

Find all elements in an array that are greater than all elements present to their right

Find missing number in array without using extra space

Determine index of an element in given array which satisfies given constraints

Find minimum moves required for converting a given array to an array of zeroes

Left rotate an array

Right rotate an array k times

Find maximum profit earned from at most two stock transactions

Find Frequency of each element in a sorted array containing duplicates

Find Minimum and Maximum element in an array using minimum comparisons

Difference between Subarray, Subsequence and Subset

Find odd occurring element in an array in single traversal

Find odd occurring element in logarithmic time

Find two odd occurring elements in an array without using any extra space

Check if given array represents min heap or not

Find K’th smallest element in an array

Find K’th largest element in an array

Sort a KSorted Array

Merge M sorted lists of variable length

Find smallest range with atleast one element from each of the given lists

Merge M sorted lists each containing N elements

Find maximum sum of subsequence with no adjacent elements

Find ways to calculate a target from elements of specified array

Sort elements by their frequency and Index

Sort an array based on order defined by another array

Inversion Count of an array

Segregate positive and negative integers in linear time

Find number of rotations in a circularly sorted array

Search an element in a circular sorted array

Find first or last occurrence of a given number in a sorted array

Count occurrences of a number in a sorted array with duplicates

Find smallest missing element from a sorted array

Find Floor and Ceil of a number in a sorted array

Search in a nearly sorted array in logarithmic time

Find number of 1’s in a sorted binary array

Find Missing Term in a Sequence in Logarithmic time

Find missing number and duplicate elements in an array

Find the peak element in an array

Find Floor and Ceil of a number in a sorted array (Recursive solution)

Print all distinct subsets of a given set

Find two duplicate elements in a limited range array (using XOR)

Combinations of words formed by replacing given numbers with corresponding alphabets

0–1 Knapsack Problem

Subset sum Problem

Partition Problem

3Partition Problem

3partition problem extended  Print all partitions

KPartition Problem  Printing all Partitions

Minimum Sum Partition Problem

Rod Cutting

Longest Alternating Subsequence Problem

Coin changemaking problem (unlimited supply of coins)

Coin Change Problem — Find total number of ways to get the denomination of coins

Find maximum profit earned from at most K stock transactions

Want to read this story later? Save it in Journal.

Backtracking

Print all possible solutions to N Queens Problem

Print all Possible Knight’s Tours in a chessboard

Find Shortest Path in Maze

Find Longest Possible Route in a Matrix

Find path from source to destination in a matrix that satisfies given constraints

Find total number of unique paths in a maze from source to destination

Print All Hamiltonian Path present in a graph

Print all kcolorable configurations of the graph (Vertex coloring of graph)

Find all Permutations of a given string

All combinations of elements satisfying given constraints

Find all binary strings that can be formed from given wildcard pattern

KPartition Problem  Printing all Partitions

Magnet Puzzle

Find ways to calculate a target from elements of specified array

Find minimum number possible by doing atmost K swaps

Determine if a pattern matches with a string or not

Generate list of possible words from a character matrix

Find the path between given vertices in a directed graph

Find all Possible Topological Orderings of a DAG

Print all shortest routes in a rectangular grid

Binary

Bit Hacks — Part 1 (Basic)

Bit Hacks — Part 2 (Playing with k’th bit)

Bit Hacks — Part 3 (Playing with rightmost set bit of a number)

Bit Hacks — Part 4 (Playing with letters of English alphabet)

Bit Hacks — Part 5 (Find absolute value of an integer without branching)

Bit Hacks — Part 6 (Random Problems)

Brian Kernighan’s Algorithm to count set bits in an integer

Round up to the next highest power of 2

Round up to the previous power of 2

Compute parity of a number using lookup table

Count set bits using lookup table

Find the minimum or maximum of two integers without using branching

Multiply 16bit integers using 8bit multiplier

Swap individual bits at given position in an integer

Check if given number is power of 4 or not

Check if given number is power of 8 or not

Reverse Bits of a given Integer

Find odd occurring element in an array in single traversal

Find two odd occurring elements in an array without using any extra space

Swap two bits at given position in an integer

Add binary representation of two integers

Swap Adjacent Bits of a Number

Print all distinct subsets of a given set

Perform Division of two numbers without using division operator (/)

Check if adjacent bits are set in binary representation of a given number

Conditionally negate a value without branching

Find two duplicate elements in a limited range array (using XOR)

Reverse Bits of an integer using lookup table

Find missing number and duplicate elements in an array

Circular shift on binary representation of an integer by k positions

Compute modulus division without division and modulo operator

Solve given set of problems without using multiplication or division operators

Find XOR of two numbers without using XOR operator

Generate power set of a given set

Huffman Coding

Find missing number in array without using extra space

Find odd occurring element in logarithmic time

Find all odd occurring elements in an array having limited range of elements

Binary Tree

Check if two given binary trees are identical or not

Calculate height of a binary tree

Delete given Binary Tree

Inorder Tree Traversal (Iterative & Recursive Implementation)

Preorder Tree Traversal (Iterative & Recursive Implementation)

Postorder Tree Traversal (Iterative & Recursive Implementation)

Level Order Traversal of Binary Tree

Spiral Order Traversal of Binary Tree

Reverse Level Order Traversal of Binary Tree

Print all nodes of a given binary tree in specific order

Print left view of binary tree

Print Bottom View of Binary Tree

Print Top View of Binary Tree

Find next node in same level for given node in a binary tree

Check if given binary tree is complete binary tree or not

Inplace convert given binary tree to its sum tree

Determine if given two nodes are cousins of each other

Print cousins of given node in a binary tree

Check if given binary tree is a sum tree or not

Combinations of words formed by replacing given numbers with corresponding alphabets

Determine if given binary tree is a subtree of another binary tree or not

Find diameter of a binary tree

Check if given binary Tree has symmetric structure or not

Convert binary tree to its mirror

Check if binary tree can be converted to another by doing any no. of swaps of left & right child

Find Lowest Common Ancestor (LCA) of two nodes in a binary tree

Print all paths from root to leaf nodes in a binary tree

Find ancestors of given node in a Binary Tree

Find the distance between given pairs of nodes in a binary tree

Find Vertical Sum in a given Binary Tree

Perform vertical traversal of a binary tree — I

Perform vertical traversal of a binary tree — II

Print corner nodes of every level in binary tree

Find the diagonal sum of given binary tree

Print Diagonal Traversal of Binary Tree

Inplace convert Binary Tree to Doubly Linked List

Sink nodes containing zero to the bottom of the binary tree

Convert given binary tree to full tree by removing half nodes

Truncate given binary tree to remove nodes which lie on a path having sum less than K

Find maximum sum roottoleaf path in a binary tree

Check if given binary tree is height balanced or not

Find maximum width of given binary tree

Convert normal binary tree to Leftchild rightsibling binary tree

Determine if given Binary Tree is a BST or not

Convert a Binary Tree to BST by maintaining its original structure

Invert a Binary Tree

Print Right View of a Binary Tree

Print all paths from leaf to root node in given binary tree

Iteratively print leaf to root path for every leaf node in a binary tree

Build Binary Tree from given Parent array

Find all nodes at given distance from leaf nodes in a binary tree

Count all subtrees having same value of nodes in a binary tree

Find Maximum Difference Between a Node and its Descendants in a Binary Tree

Construct a Binary Tree from Ancestor Matrix

Calculate height of a binary tree with leaf nodes forming a circular doubly linked list

Find maximum sum path between two leaves in a binary tree

Fix a binary tree that is only one swap away from becoming a BST

Construct a binary tree from inorder and preorder traversal

Construct a binary tree from inorder and postorder traversals

Construct a binary tree from inorder and level order sequence

Construct a full binary tree from preorder sequence with leaf node information

Construct a full binary tree from a preorder and postorder sequence

Set next pointer to inorder successor of all nodes in binary tree

Efficiently print all nodes between two given levels in a binary tree

Find preorder traversal of a binary tree from its inorder and postorder sequence

Find the difference between sum of all nodes present at odd and even levels in a binary tree

Find the size of the largest BST in a Binary Tree

Link nodes present in each level of a binary tree in the form of a linked list

Construct a Cartesian Tree from Inorder Traversal

Implementation of Treap Data Structure (Insert, Search and Delete)

Clone a binary tree with random pointers

Threaded Binary Tree: Overview and Implementation

Invert alternate levels of a perfect binary tree

Convert a Binary Tree into a Doubly Linked List in Spiral Order

Check if a binary tree is a minheap or not

Determine if a binary tree satisfy the heightbalanced property of red–black tree

Depth first search (DFS) vs Breadth first search (BFS)

BST

Insertion in BST

Search given key in BST

Deletion from BST

Construct balanced BST from given keys

Determine if given Binary Tree is a BST or not

Check if given keys represents same BSTs or not without building the BST

Find inorder predecessor for given key in a BST

Find Lowest Common Ancestor (LCA) of two nodes in a Binary Search Tree

Find K’th smallest and K’th largest element in BST

Floor and Ceil in a Binary Search Tree

Find optimal cost to construct binary search tree

Convert a Binary Tree to BST by maintaining its original structure

Remove nodes from BST that have keys outside the valid range

Find a pair with given sum in a BST

Find inorder successor for given key in a BST

Replace every element of an array with the least greater element on its right

Fix a binary tree that is only one swap away from becoming a BST

Update every key in BST to contain sum of all greater keys

Check if a given sequence represents preorder traversal of a BST

Build a Binary Search Tree from a Postorder Sequence

Build a Binary Search Tree from a Preorder Sequence

Find a triplet with given sum in a BST

Count subtrees in a BST whose nodes lies within a given range

Merge two BSTs into a doubly linked list in sorted order

Construct a heightbalanced BST from an unbalanced BST

Find the size of the largest BST in a Binary Tree

Convert a Binary Search Tree into a Min Heap

Construct a HeightBalanced BST from a Sorted Doubly Linked List

Divide & Conquer

Binary Search Algorithm

Find number of rotations in a circularly sorted array

Search an element in a circular sorted array

Find first or last occurrence of a given number in a sorted array

Count occurrences of a number in a sorted array with duplicates

Find smallest missing element from a sorted array

Find Floor and Ceil of a number in a sorted array

Search in a nearly sorted array in logarithmic time

Find number of 1’s in a sorted binary array

Find the peak element in an array

Maximum Sum Subarray using Divide & Conquer

Efficiently implement a power function

Find Missing Term in a Sequence in Logarithmic time

Division of Two Numbers using Binary Search Algorithm

Find Floor and Ceil of a number in a sorted array (Recursive solution)

Find Frequency of each element in a sorted array containing duplicates

Find odd occurring element in logarithmic time

Ternary Search vs Binary search

Exponential search

Unbounded Binary Search

Interpolation search

Merge Sort Algorithm

QuickSort Algorithm

Dynamic Programming

Introduction to Dynamic Programming

Longest Common Subsequence Problem

Longest Common Subsequence  Space optimized version

Longest Common Subsequence of Ksequences

Longest Common Subsequence  Finding all LCS

Longest Common Substring Problem

Longest Palindromic Subsequence Problem

Longest Repeated Subsequence Problem

Implement Diff Utility

Shortest Common Supersequence Problem

Shortest Common Supersequence  Finding all SCS

Shortest Common Supersequence Problem using LCS

Longest Increasing Subsequence Problem

Longest Decreasing Subsequence Problem

Longest Bitonic Subsequence

Increasing Subsequence with Maximum Sum

The Levenshtein Distance (Edit Distance) Problem

Find size of largest square submatrix of 1’s present in given binary matrix

Matrix Chain Multiplication

Find the minimum cost to reach last cell of the matrix from its first cell

Find longest sequence formed by adjacent numbers in the matrix

Count number of paths in a matrix with given cost to reach destination cell

0–1 Knapsack Problem

Maximize value of the expression

Partition Problem

Subset sum Problem

3Partition Problem

Minimum Sum Partition Problem

Rod Cutting

Maximum Product Rod Cutting

Coin changemaking problem (unlimited supply of coins)

Coin Change Problem — Find total number of ways to get the denomination of coins

Total possible solutions to linear equation of k variables

Longest Alternating Subsequence Problem

Count number of times a pattern appears in given string as a subsequence

Collect maximum points in a matrix by satisfying given constraints

Find all Ndigit binary strings without any consecutive 1’s

Count total possible combinations of Ndigit numbers in a mobile keypad

Word Break Problem

Determine Minimal Adjustment Cost of an Array

Check if a string is KPalindrome or not

Find total ways to achieve given sum with n throws of dice having k faces

Wildcard Pattern Matching

Find number of ways to fill a N x 4 matrix with 1 x 4 tiles

Ways to reach the bottomright corner of a matrix with exactly k turns allowed

Weighted Interval Scheduling Problem

Box Stacking Problem

Find total ways to reach the n’th stair with atmost m steps

Find total ways to reach the n’th stair from the bottom

Activity Selection Problem

Find minimum number of deletions required to convert a string into palindrome

Calculate minimum cost to reach destination city from source city

Pots of Gold Game Problem

Find minimum cuts needed for palindromic partition of a string

Weighted Interval Scheduling using LIS algorithm

Find minimum jumps required to reach the destination

Find probability that a person is alive after taking N steps on the island

Find maximum sum of subsequence with no adjacent elements

Maximum Length Snake Sequence

Calculate size of the largest plus of 1’s in binary matrix

Longest Increasing Subsequence using LCS

Find maximum profit earned from at most K stock transactions

Count all paths in a matrix from first cell to last cell

Check if a string matches with a given wildcard pattern

Check if given string is interleaving of two other given strings

Find all employees who directly or indirectly reports to a manager

Find optimal cost to construct binary search tree

Find maximum sum of subsequence with no adjacent elements

Maximum Sum Subarray Problem (Kadane’s Algorithm)

Longest Alternating Subarray Problem

Collect maximum value of coins in a matrix

Find length of longest path in the matrix with consecutive characters

Find ways to calculate a target from elements of specified array

Calculate sum of all elements in a submatrix in constant time

Find maximum sum K x K submatrix in a given M x N matrix

Find maximum sum submatrix present in a given matrix

SingleSource Shortest Paths — Bellman Ford Algorithm

AllPairs Shortest Paths — Floyd Warshall Algorithm

Graph

Terminology and Representations of Graphs

Graph Implementation — C, C++, C++ (STL), Java (Collections), Python

Breadth First Search (BFS) Algorithm

Depth First Search (DFS) Algorithm

Depth first search (DFS) vs Breadth first search (BFS)

Arrival and Departure Time of Vertices in DFS

Types of edges involved in DFS and relation between them

Bipartite Graph

Determine if a given graph is Bipartite Graph using DFS

Snake and Ladder Problem

Topological Sorting in a DAG

Kahn’s Topological Sort Algorithm

Transitive Closure of a Graph

Check if an undirected graph contains cycle or not

Total paths in given digraph from given source to destination having exactly m edges

Determine if an undirected graph is a Tree (Acyclic Connected Graph)

2Edge Connectivity in the graph

2Vertex Connectivity in the graph

Check if given digraph is a DAG (Directed Acyclic Graph) or not

DisjointSet Data Structure (UnionFind Algorithm)

Chess Knight Problem — Find Shortest path from source to destination

Check if given Graph is Strongly Connected or not

Check if given Graph is Strongly Connected or not using one DFS Traversal

UnionFind Algorithm for Cycle Detection in undirected graph

Kruskal’s Algorithm for finding Minimum Spanning Tree

SingleSource Shortest Paths — Dijkstra’s Algorithm

SingleSource Shortest Paths — Bellman Ford Algorithm

AllPairs Shortest Paths — Floyd Warshall Algorithm

Find Cost of Shortest Path in DAG using one pass of BellmanFord

Least Cost Path in Weighted Digraph using BFS

Find maximum cost path in graph from given source to destination

Determine negativeweight cycle in a graph

Least cost path in given digraph from given source to destination having exactly m edges

Find the path between given vertices in a directed graph

Find all Possible Topological Orderings of a DAG

Find the correct order of alphabets in a given dictionary of ancient origin

Find longest path in a Directed Acyclic Graph (DAG)

Construct a directed graph from undirected graph that satisfies given constraints

Print all kcolorable configurations of the graph (Vertex coloring of graph)

Print All Hamiltonian Path present in a graph

Graph Coloring Problem

Greedy

Activity Selection Problem

Huffman Coding

Job Sequencing Problem with Deadlines

Graph Coloring Problem

Kruskal’s Algorithm for finding Minimum Spanning Tree

SingleSource Shortest Paths — Dijkstra’s Algorithm

Shortest Superstring Problem

Heap

Introduction to Priority Queues using Binary Heaps

Min Heap and Max Heap Implementation — C++, Java

Heap Sort Algorithm

Check if given array represents min heap or not

Convert Max Heap to Min Heap in linear time

Find K’th largest element in an array

Sort a KSorted Array

Merge M sorted lists of variable length

Merge K sorted linked lists

Find K’th smallest element in an array

Find smallest range with atleast one element from each of the given lists

Merge M sorted lists each containing N elements

Find first k nonrepeating characters in a string in single traversal

Find first k maximum occurring words in given set of strings

Implementation of Treap Data Structure (Insert, Search and Delete)

Convert a Binary Search Tree into a Min Heap

Check if a binary tree is a minheap or not

Huffman Coding

External Merge Sort Algorithm

Linked List

Introduction to Linked Lists

Linked List Implementation — C, C++, Java, Python

Linked List  Insertion at Tail

Static Linked List

Clone given Linked List

Delete Linked List

Pop operation in linked list

Insert given node into the correct sorted position in the given sorted linked list

Rearrange linked list in increasing order (Sort linked list)

Split the nodes of the given linked list into front and back halves

Remove duplicates from a sorted linked list

Move front node of the given list to the front of the another list

Move even nodes to the end of the list in reverse order

Split given linked list into two lists where each list containing alternating elements from it

Construct a linked list by merging alternate nodes of two given lists

Merge Sort Algorithm for Singly Linked List

Merge two sorted linked lists into one

Merge K sorted linked lists

Intersection of two given sorted linked lists

Reverse Linked List (Iterative Solution)

Reverse Linked List (Recursive Solution)

Reverse every group of k nodes in given linked list

Find K’th node from the end in a linked list

Merge alternate nodes of two linked lists into the first list

Merge two sorted linked lists from their end

Delete every N nodes in a linked list after skipping M nodes

Rearrange linked list in specific manner in linear time

Check if linked list is palindrome or not

Move last node to front in a given Linked List

Rearrange the linked list in specific manner

Detect Cycle in a linked list (Floyd’s Cycle Detection Algorithm)

Sort linked list containing 0’s, 1’s and 2’s

Implement Stack using Linked List

Implement Queue using Linked List

Remove duplicates from a linked list

Rearrange the linked list so that it has alternating high, low values

Rearrange a Linked List by Separating Odd Nodes from the Even Ones

Calculate height of a binary tree with leaf nodes forming a circular doubly linked list

XOR Linked List: Overview and Implementation

Convert a multilevel linked list to a singly linked list

Recursively check if linked list of characters is palindrome or not

Merge two BSTs into a doubly linked list in sorted order

Remove redundant nodes from a path formed by a linked list

Add a singledigit number to a linked list representing a number

Reverse every alternate group of k nodes in a linked list

Determine if a given linked list is a palindrome or not

Sort a Doubly Linked List using Merge Sort

Reverse a Doubly Linked List

Pairwise swap adjacent nodes of a linked list

Flatten a linked list

Check if a Linked List of String is Palindromic

Flatten a multilevel linked list

Construct a heightbalanced BST from an unbalanced BST

Swap K’th node from beginning with K’th node from end in a Linked List

Add two linked lists without using any extra space

Clone a Linked List with Random Pointers

Update random pointer for each linked list node to point to the maximum node

Link nodes present in each level of a binary tree in the form of a linked list

Convert a Ternary Tree to a Doubly Linked List

Print nodes of a given binary tree in vertical order

Convert a Binary Tree into a Doubly Linked List in Spiral Order

Construct a HeightBalanced BST from a Sorted Doubly Linked List

Inplace merge two sorted linked lists without modifying links of the first list

Reverse specified portion of a Linked List

Matrix

Print Matrix in Spiral Order

Create Spiral Matrix from given array

Shift all matrix elements by 1 in Spiral Order

Find Shortest path from source to destination in a matrix that satisfies given constraints

Change all elements of row i and column j in a matrix to 0 if cell (i, j) has value 0

Print diagonal elements of the matrix having positive slope

Find all paths from first cell to last cell of a matrix

Replace all occurrences of 0 that are not surrounded by 1 in a binary matrix

Inplace rotate the matrix by 90 degrees in clockwise direction

Count negative elements present in sorted matrix in linear time

Report all occurrences of an element in row wise and column wise sorted matrix in linear time

Calculate sum of all elements in a submatrix in constant time

Find maximum sum K x K submatrix in a given M x N matrix

Find maximum sum submatrix present in a given matrix

Count the number of islands

Flood Fill Algorithm

Find shortest safe route in a field with sensors present

Find all occurrences of given string in a character matrix

Shortest path in a Maze  Lee Algorithm

Check if given matrix is Toeplitz matrix or not

Inplace rotate the matrix by 180 degrees

Fill Binary Matrix with Alternating Rectangles of 0 and 1

Find all common elements present in every row of given matrix

Construct a Binary Tree from Ancestor Matrix

Find common elements present in all rows of a matrix

Find index of the row containing maximum number of 1’s in a binary matrix

Find the largest square submatrix which is surrounded by all 1's

Find minimum passes required to convert all negative values in the matrix

Print a spiral square matrix without using any extra space

Print all shortest routes in a rectangular grid

Find length of longest path in the matrix with consecutive characters

Collect maximum value of coins in a matrix

Young Tableau  Insert, Search, ExtractMin, Delete, Replace

Sort an array using Young tableau

Find path from source to destination in a matrix that satisfies given constraints

Generate list of possible words from a character matrix

Find probability that a person is alive after taking N steps on the island

Collect maximum points in a matrix by satisfying given constraints

Count number of paths in a matrix with given cost to reach destination cell

Find longest sequence formed by adjacent numbers in the matrix

Find the minimum cost to reach last cell of the matrix from its first cell

Ways to reach the bottomright corner of a matrix with exactly k turns allowed

Matrix Chain Multiplication

Find size of largest square submatrix of 1’s present in given binary matrix

Chess Knight Problem — Find Shortest path from source to destination

Find Duplicate rows in a binary matrix

Print all possible solutions to N Queens Problem

Print all Possible Knight’s Tours in a chessboard

Find Shortest Path in Maze

Find Longest Possible Route in a Matrix

Find total number of unique paths in a maze from source to destination

Calculate size of the largest plus of 1’s in binary matrix

Find the maximum value of M[c][d] — M[a][b] over all choices of indexes

Find shortest distance of every cell from landmine in a Maze

Find shortest route in a device to construct the given string

Calculate minimum cost to reach destination city from source city

Count all paths in a matrix from first cell to last cell

Merge M sorted lists each containing N elements

Travelling Salesman Problem using Branch and Bound

Puzzles

Clock Angle Problem — Find angle between hour and minute hand

Add two numbers without using addition operator

Generate power set of a given set

Implement power function without using multiplication and division operators

Print all numbers between 1 to N without using semicolon

Swap two numbers without using third variable

Determine the if condition to print specific output

Find maximum & minimum of triplet without using conditional statement and ternary operator

Find numbers represented as sum of two cubes for two different pairs

Print “Hello World” with empty main() function

Tower of Hanoi Problem

Print all numbers between 1 to N without using any loop

Print a semicolon without using semicolon anywhere in the program

Multiply two numbers without using multiplication operator or loops

Find square of a number without using multiplication and division operator

Find if a number is even or odd without using any conditional statement

Set both elements of a binary array to 0 in single line

Find minimum number without using conditional statement or ternary operator

Perform Division of two numbers without using division operator (/)

Generate 0 and 1 with 75% and 25% Probability

Generate Desired Random Numbers With Equal Probability

Return 0, 1 and 2 with equal Probability using the specified function

Generate Fair Results from a Biased Coin

Generate numbers from 1 to 7 with equal probability using specified function

Implement Ternary Operator Without Using Conditional Expressions

Determine if two integers are equal without using comparison and arithmetic operators

Return 0 and 1 with equal Probability using the specified function

Generate random input from an array according to given probabilities

Compute modulus division without division and modulo operator

Queue

Queue Implementation using Array/List — C, C++, Java, Python

Queue Implementation using Linked List

Implement Stack using Queue Data Structure

Implement a Queue using Stack Data Structure

Efficiently print all nodes between two given levels in a binary tree

Chess Knight Problem — Find Shortest path from source to destination

Shortest path in a Maze  Lee Algorithm

Find shortest safe route in a field with sensors present

Flood Fill Algorithm

Count the number of islands

Find Shortest path from source to destination in a matrix that satisfies given constraints

Generate binary numbers between 1 to N

Calculate height of a binary tree

Delete given Binary Tree

Level Order Traversal of Binary Tree

Spiral Order Traversal of Binary Tree

Reverse Level Order Traversal of Binary Tree

Print all nodes of a given binary tree in specific order

Print left view of binary tree

Find next node in same level for given node in a binary tree

Check if given binary tree is complete binary tree or not

Print Diagonal Traversal of Binary Tree

Print corner nodes of every level in binary tree

Invert a Binary Tree

Find minimum passes required to convert all negative values in the matrix

Convert a Binary Tree into a Doubly Linked List in Spiral Order

Check if a binary tree is a minheap or not

Invert alternate levels of a perfect binary tree

Convert a Binary Search Tree into a Min Heap

Snake and Ladder Problem

Find shortest distance of every cell from landmine in a Maze

Convert a multilevel linked list to a singly linked list

Breadth First Search (BFS) Algorithm

Check if an undirected graph contains cycle or not

Find maximum cost path in graph from given source to destination

Total paths in given digraph from given source to destination having exactly m edges

Least cost path in given digraph from given source to destination having exactly m edges

Sorting

Insertion Sort Algorithm

Selection Sort Algorithm

Bubble Sort Algorithm

Merge Sort Algorithm

Iterative Merge Sort Algorithm (Bottomup Merge Sort)

QuickSort Algorithm

Iterative Implementation of QuickSort

Hybrid QuickSort

QuickSort using Dutch National Flag Algorithm

QuickSort using Hoare’s Partitioning scheme

Heap Sort Algorithm

Introsort Algorithm

External Merge Sort Algorithm

Counting Sort Algorithm

Inversion Count of an array

Sort an array using Young tableau

Merge Sort Algorithm for Singly Linked List

Problems solved using partitioning logic of QuickSort

Sort a Doubly Linked List using Merge Sort

Sort elements by their frequency and Index

Sort an array based on order defined by another array

Efficiently sort an array with many duplicated values

Find largest number possible from set of given numbers

Find the surpasser count for each element of an array

Segregate positive and negative integers using Merge Sort

Group anagrams together from given list of words

Stack

Stack Implementation using Array/List — C, C++, Java, Python

Stack Implementation using Linked List

Check if given expression is balanced expression or not

Find duplicate parenthesis in an expression

Evaluate given postfix expression

Decode the given sequence to construct minimum number without repeated digits

Design a stack which returns minimum element in constant time

Design a stack which returns minimum element without using auxiliary stack

Merging Overlapping Intervals

Reverse String without using Recursion

Implement Stack using Queue Data Structure

Implement a Queue using Stack Data Structure

Implement two stacks in a single array

Recursive solution to sort a stack

Find length of the longest balanced parenthesis in a string

Reverse a string using stack data structure

Find all elements in an array that are greater than all elements present to their right

Inorder Tree Traversal

Preorder Tree Traversal

Postorder Tree Traversal

Find preorder traversal of a binary tree from its inorder and postorder sequence

Find ancestors of given node in a Binary Tree

Check if two given binary trees are identical or not

Reverse Level Order Traversal of Binary Tree

Reverse given text without reversing the individual words

Find all binary strings that can be formed from given wildcard pattern

Iterative Implementation of QuickSort

Depth First Search (DFS) Algorithm

Invert a Binary Tree

Print leaf to root path for every leaf node in a binary tree

Longest Increasing Subsequence

Invert alternate levels of a perfect binary tree

String

Check if given string is a rotated palindrome or not

Longest Palindromic Substring (NonDP Space Optimized Solution)

Check if repeated subsequence is present in the string or not

Check if strings can be derived from each other by circularly rotating them

Check if given set of moves is circular or not

Convert given number into corresponding excel column name

Determine if two strings are anagram or not

Find all binary strings that can be formed from given wildcard pattern

Find all interleaving of given strings

Isomorphic Strings

Find all possible palindromic substrings in a string

Find all possible combinations of words formed from mobile keypad

Find all possible combinations by replacing given digits with characters of the corresponding list

Find all words from given list that follows same order of characters as given pattern

Group anagrams together from given list of words

Find minimum operations required to transform a string into another string

Determine if a string can be transformed into another string with a single edit

Find length of the longest balanced parenthesis in a string

In place remove all occurrences of ‘AB’ and ‘C’ from the string

Longest even length palindromic sum substring

Print string in zigzag form in k rows

Reverse given text without reversing the individual words

Run Length Encoding (RLE) Data Compression Algorithm

Find the longest substring of given string containing k distinct characters

Find all palindromic permutations of a string

Find all substrings of a string that are permutation of a given string

Find the longest substring of given string containing all distinct characters

Iterative Approach to find Permutations of a String

Generate all Permutations of a String in Java

Find all lexicographically next permutations of a string sorted in ascending order

Find Lexicographically minimal string rotation

Find all strings of given length containing balanced parentheses

Find all combinations of nonoverlapping substrings of a string

Determine if a given string is palindrome or not

Find the minimum number of inversions needed to make the given expression balanced

Construct the longest palindrome by shuffling or deleting characters from a string

Print all combinations of phrases formed by picking words from each of the given lists

Break a string into all possible combinations of nonoverlapping substrings

Remove all extra spaces from a string

Remove adjacent duplicate characters from a string

Find first nonrepeating character in a string by doing only one traversal of it

Find all Ndigit strictly increasing numbers (BottomUp and TopDown Approach)

Find all Ndigit binary numbers having more 1’s than 0’s for any prefix

Find all Ndigit numbers with given sum of digits

Find all Ndigit binary numbers with kbits set where k ranges from 1 to N

Find all Ndigit binary numbers with equal sum of bits in its two halves

Find all Ndigit numbers with equal sum of digits at even and odd index

Find all Lexicographic Permutations of a String

Lexicographic Rank of a String

Find all lexicographically previous permutations of a string sorted in descending order

Replace all nonoverlapping occurrences of the pattern

Introduction to Pattern Matching

Implementation of KMP Algorithm

Reverse String without using Recursion

Reverse given string using Recursion

Determine if characters of a String follow a specified order or not

Inplace remove all adjacent duplicates from the given string

Check if given sentence is syntactically correct or not

Find all Permutations of a given string

Find first k nonrepeating characters in a string in single traversal

Check if given string is interleaving of two other given strings

Decode the given sequence to construct minimum number without repeated digits

Combinations of words formed by replacing given numbers with corresponding alphabets

Count number of times a pattern appears in given string as a subsequence

Check if a string matches with a given wildcard pattern

Find all words matching a pattern in the given dictionary

The Levenshtein Distance (Edit Distance) Problem

Longest Common Subsequence Problem

Longest Repeated Subsequence Problem

Longest Palindromic Subsequence using Dynamic Programming

Longest Common Substring Problem

Shortest Common Supersequence Problem

Word Break Problem

Wildcard Pattern Matching

Find minimum cuts needed for palindromic partition of a string

Check if a string is KPalindrome or not

Find shortest route in a device to construct the given string

Find minimum number possible by doing atmost K swaps

Determine if a pattern matches with a string or not

Find minimum number of deletions required to convert a string into palindrome

Trie

Trie Implementation — C, C++, Java, Python

Memory Efficient Implementation of Trie  Insert, Search and Delete

Longest Common Prefix in given set of strings (using Trie)

Lexicographic sorting of given set of keys

Find maximum occurring word in given set of strings

Find first k maximum occurring words in given set of strings

Find Duplicate rows in a binary matrix

Word Break Problem  Using Trie

Generate list of possible words from a character matrix

Find all words matching a pattern in the given dictionary

How is a bubble sort algorithm implemented? (solution)

How is a merge sort algorithm implemented? (solution)

How do you count the occurrence of a given character in a string? (solution)

How do you print the first nonrepeated character from a string? (solution)

How do you convert a given String into int like the atoi()? (solution)

How do you implement a bucket sort algorithm? (solution)

How do you implement a counting sort algorithm? (solution)

How do you remove duplicates from an array in place? (solution)

How do you reverse an array in place in Java? (solution)

How are duplicates removed from an array without using any library? (solution)

How is a radix sort algorithm implemented? (solution)

How do you swap two numbers without using the third variable? (solution)

How do you check if two rectangles overlap with each other? (solution)

How do you design a vending machine? (solution)

How do you find the missing number in a given integer array of 1 to 101? (solution)

How do you find the duplicate number on a given integer array? (solution)

How do you find duplicate numbers in an array if it contains multiple duplicates? (solution)

Difference between a stable and unstable sorting algorithm? (answer)

How is an iterative quicksort algorithm implemented? (solution)

How do you find the largest and smallest number in an unsorted integer array? (solution)

How do you reverse a linked list in place? (solution)

How to add an element at the middle of the linked list? (solution)

How do you sort a linked list in Java? (solution)

How do you find all pairs of an integer array whose sum is equal to a given number? (solution)

How do you implement an insertion sort algorithm? (solution)

How are duplicates removed from a given array in Java? (solution)

how to remove the duplicate character from String? (solution)

How to find the maximum occurring character in given String? (solution)

How is an integer array sorted in place using the quicksort algorithm? (solution)

How do you reverse a given string in place? (solution)

How do you print duplicate characters from a string? (solution)

How do you check if two strings are anagrams of each other? (solution)

How do you find all the permutations of a string? (solution)

How can a given string be reversed using recursion? (solution)

How do you check if a given string is a palindrome? (solution)

How do you find the length of the longest substring without repeating characters? (solution)

Given string str,  How do you find the longest palindromic substring in str? (solution)

How do you check if a string contains only digits? (solution)

How to remove Nth Node from the end of a linked list? (solution)

How to merge two sorted linked list? (solution)

How to convert a sorted list to a binary search tree? (solution)

How do you find duplicate characters in a given string? (solution)

How do you count a number of vowels and consonants in a given string? (solution)

How do you reverse words in a given sentence without using any library method? (solution)

How do you check if two strings are a rotation of each other? (solution)

How to convert a byte array to String? (solution)

How do you remove a given character from String? (solution)

How do you find the middle element of a singly linked list in one pass? (solution)

How do you check if a given linked list contains a cycle?  How do you find the starting node of the cycle? (solution)

How do you reverse a linked list? (solution)

How do you reverse a singly linked list without recursion? (solution)

How are duplicate nodes removed in an unsorted linked list? (solution)

How do you find the length of a singly linked list? (solution)

How do you find the third node from the end in a singly linked list? (solution)

How do you find the sum of two linked lists using Stack? (solution)

What is the difference between array and linked list? (answer)

How to remove duplicates from a sorted linked list? (solution)

How to find the node at which the intersection of two singly linked lists begins. (solution)

Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. (solution)

How to check if a given linked list is a palindrome? (solution)

How to remove all elements from a linked list of integers which matches with given value? (solution)

How is a binary search tree implemented? (solution)

How do you perform preorder traversal in a given binary tree? (solution)

How do you traverse a given binary tree in preorder without recursion? (solution)

How do you perform an inorder traversal in a given binary tree? (solution)

How do you print all nodes of a given binary tree using inorder traversal without recursion? (solution)

How do you implement a postorder traversal algorithm? (solution)

How do you traverse a binary tree in postorder traversal without recursion? (solution)

How are all leaves of a binary search tree printed? (solution)

How do you count a number of leaf nodes in a given binary tree? (solution)

How do you perform a binary search in a given array? (solution)

How to Swap two numbers without using the third variable? (solution)

How to check if two rectangles overlap with each other? (solution)

How to design a Vending Machine? (solution)

How to implement an LRU Cache in your favorite programming language? (solution)

How to check if a given number is a Palindrome? (solution)

How to check if a given number is an Armstrong number? (solution)

How to find all prime factors of a given number? (solution)

How to find the largest prime factor of a given integral number? (solution)

How to print all prime numbers up to a given number? (solution)

How to calculate the square root of a given number? (solution)

How to check if the given number is a prime number? (solution)

How to add two numbers without using the plus operator in Java? (solution)

How to check if a given number is even/odd without using Arithmetic operator? (solution)

How to print a given Pyramid structure? (solution)

How to find the highest repeating world from a given file in Java? (solution)

How to convert a decimal number to binary in Java? (solution)

How to check if a given year is a leap year in Java? (solution)

Can you implement a Binary search Algorithm without recursion? (solution)

Difference between a stable and unstable sorting algorithm? (answer)

What is Depth First Search Algorithm for a binary tree? (solution)

How is an iterative quicksort algorithm implemented? (solution)

How do you implement an insertion sort algorithm? (solution)

How is a merge sort algorithm implemented? (solution)

What is the difference between Comparison and NonComparison Sorting Algorithms? (answer)

How do implement Sieve of Eratosthenes Algorithms for Prime Number? (solution)

How to find sub array with maximum sum? (solution)

Find pair with given sum in the array

Check if subarray with 0 sum is exists or not

Print all subarrays with 0 sum

Sort binary array in linear time

Find a duplicate element in a limited range array

Find maximum length subarray having given sum

Find maximum length subarray having equal number of 0’s and 1’s

Find maximum product of two integers in an array

Sort an array containing 0’s, 1’s and 2’s (Dutch National Flag Problem)

In place merge two sorted arrays

Merge two arrays by satisfying given constraints

Find index of 0 to replace to get maximum length sequence of continuous ones

Shuffle a given array of elements (Fisher–Yates shuffle)

Rearrange the array with alternate high and low elements

Find equilibrium index of an array

Find largest subarray formed by consecutive integers

Find majority element (Boyer–Moore Majority Vote Algorithm)

Move all zeros present in the array to the end

Replace each element of array with product of every other element without using / operator

Find Longest Bitonic Subarray in an array

Longest Increasing Subsequence

Find maximum difference between two elements in the array by satisfying given constraints

Maximum Sum Subarray Problem (Kadane’s Algorithm)

Print continuous subarray with maximum sum

Maximum Sum Circular Subarray

Find all distinct combinations of given length — I

Find all distinct combinations of given length with repetition allowed

Find maximum sequence of continuous 1’s formed by replacing atmost k zeroes by ones

Find minimum sum subarray of given size k

Find maximum product subarray in a given array

Find subarray having given sum in given array of integers

Find the length of smallest subarray whose sum of elements is greater than the given number

Find largest number possible from set of given numbers

Find the smallest window in array sorting which will make the entire array sorted

Find maximum sum path involving elements of given arrays

Maximum profit earned by buying and selling shares any number of times

Trapping Rain Water within given set of bars

Find minimum platforms needed in the station so to avoid any delay in arrival of any train

Decode the array constructed from another array

Sort an array using one swap

Find Triplet with given sum in an array

Length of longest continuous sequence with same sum in given binary arrays

Reverse every consecutive m elements of the given subarray

Maximum Product Subset Problem

Find pairs with given difference k in the array

Find pairs with given difference k in the array  Constant space solution

4 sum problem  Quadruplets with given sum

Print all quadruplets with given sum  4sum problem extended

Quickselect Algorithm

Rearrange array such that A[A[i]] is set to i for every element A[i]

Print all Triplets that forms Arithmetic Progression

Print all Triplets that forms Geometric Progression

Print all combination of numbers from 1 to n having sum n

Replace each element of the array by its corresponding rank in the array

Print all Triplets in an array with sum less than or equal to given number

Group elements of an array based on their first occurrence

Find minimum difference between index of two given elements present in the array

Find maximum absolute difference between sum of two nonoverlapping subarrays

Find all Symmetric Pairs in an Array of Pairs

Partition an array into two subarrays with the same sum

Find count of distinct elements in every subarray of size k

Find two numbers with maximum sum formed by array digits

Print all subarrays of an array having distinct elements

Find a Triplet having Maximum Product in an Array

Find Minimum Index of Repeating Element in an Array

Generate random input from an array according to given probabilities

Find pair in an array having minimum absolute sum

Find Index of Maximum Occurring Element with Equal Probability

Check if an Array is Formed by Consecutive Integers

Find two nonoverlapping pairs having same sum in an array

Add elements of two arrays into a new array

Find Minimum Product among all Combinations of Triplets in an Array

Replace every element of an array with the least greater element on its right

Find all odd occurring elements in an array having limited range of elements

Count the distinct absolute values in the sorted array

Print all combinations of positive integers in increasing order that sum to a given number

Find all distinct combinations of given length — II

Find subarrays with given sum in an array

Find the surpasser count for each element of an array

Find maximum length sequence of continuous ones (Using Sliding Window)

Find maximum length sequence of continuous ones

Find index that divides an array into two nonempty subarrays of equal sum

Calculate frequency of all elements present in an array of specified range

Rearrange the array such that it contains positive and negative numbers at alternate positions

Find a sorted triplet in the given array

Shuffle an array according to the given order of elements

Count number of strictly increasing subarrays in an array

Find duplicates within given range k in an array

Longest Alternating Subarray Problem

Find minimum range with atleast one element from each of the given arrays

Find longest subsequence formed by consecutive integers

Find all elements in an array that are greater than all elements present to their right

Find missing number in array without using extra space

Determine index of an element in given array which satisfies given constraints

Find minimum moves required for converting a given array to an array of zeroes

Left rotate an array

Right rotate an array k times

Find maximum profit earned from at most two stock transactions

Find Frequency of each element in a sorted array containing duplicates

Find Minimum and Maximum element in an array using minimum comparisons

Difference between Subarray, Subsequence and Subset

Find odd occurring element in an array in single traversal

Find odd occurring element in logarithmic time

Find two odd occurring elements in an array without using any extra space

Check if given array represents min heap or not

Find K’th smallest element in an array

Find K’th largest element in an array

Sort a KSorted Array

Merge M sorted lists of variable length

Find smallest range with atleast one element from each of the given lists

Merge M sorted lists each containing N elements

Find maximum sum of subsequence with no adjacent elements

Find ways to calculate a target from elements of specified array

Sort elements by their frequency and Index

Sort an array based on order defined by another array

Inversion Count of an array

Segregate positive and negative integers in linear time

Find number of rotations in a circularly sorted array

Search an element in a circular sorted array

Find first or last occurrence of a given number in a sorted array

Count occurrences of a number in a sorted array with duplicates

Find smallest missing element from a sorted array

Find Floor and Ceil of a number in a sorted array

Search in a nearly sorted array in logarithmic time

Find number of 1’s in a sorted binary array

Find Missing Term in a Sequence in Logarithmic time

Find missing number and duplicate elements in an array

Find the peak element in an array

Find Floor and Ceil of a number in a sorted array (Recursive solution)

Print all distinct subsets of a given set

Find two duplicate elements in a limited range array (using XOR)

Combinations of words formed by replacing given numbers with corresponding alphabets

0–1 Knapsack Problem

Subset sum Problem

Partition Problem

3Partition Problem

3partition problem extended  Print all partitions

KPartition Problem  Printing all Partitions

Minimum Sum Partition Problem

Rod Cutting

Longest Alternating Subsequence Problem

Coin changemaking problem (unlimited supply of coins)

Coin Change Problem — Find total number of ways to get the denomination of coins

Find maximum profit earned from at most K stock transactions
Comments