Easy Docs

Love brabber 450 problems

Array

Matrix

String

Searching & Sorting

  • Find the first and last positions of an element in a sorted array
  • Find a Fixed Point (Value equal to index) in a given array
  • Search in a rotated sorted array
  • Square root of an integer
  • Maximum and minimum of an array using a minimum number of comparisons
  • Optimum location of point to minimize total distance
  • Find the repeating and the missing
  • Find the majority element
  • Searching in an array where adjacent differ by at most k
  • Find a pair with a given difference
  • Find four elements that sum to a given value
  • Maximum sum such that no 2 elements are adjacent
  • Count triplets in a sorted array whose sum is smaller than a given value
  • Merge 2 sorted arrays
  • Print all subarrays with 0 sum
  • Product array Puzzle
  • Sort array according to the count of set bits
  • Minimum no. of swaps required to sort the array
  • Bishu and Soldiers
  • Rasta and Kheshtak
  • Kth smallest number again
  • Find the pivot element in a sorted array
  • K-th Element of Two Sorted Arrays
  • Aggressive cows
  • Book Allocation Problem
  • EKOSPOJ
  • Job Scheduling Algorithm
  • Missing Number in AP
  • Smallest number with at least n trailing zeroes in factorial
  • Painters Partition Problem
  • ROTI-Prata SPOJ
  • DoubleHelix SPOJ
  • Subset Sums
  • Find the inversion count
  • Implement Merge-sort in-place
  • Partitioning and Sorting Arrays with Many Repeated Entries

Linked List

  • Write a Program to reverse the Linked List (Both Iterative and Recursive)
  • Reverse a Linked List in a group of Given Size [Very Imp]
  • Write a program to detect a loop in a linked list
  • Write a program to delete a loop in a linked list
  • Find the starting point of the loop
  • Remove duplicates in a sorted Linked List
  • Remove duplicates in an unsorted Linked List
  • Write a Program to Move the last element to the Front in a Linked List
  • Add “1” to a number represented as a Linked List
  • Add two numbers represented by linked lists
  • Intersection of two Sorted Linked Lists
  • Intersection Point of two Linked Lists
  • Merge Sort For Linked Lists [Very Important]
  • Quicksort for Linked Lists [Very Important]
  • Find the middle Element of a linked list
  • Check if a linked list is a circular linked list
  • Split a Circular linked list into two halves
  • Write a Program to check whether the Singly Linked List is a palindrome or not
  • Deletion from a Circular Linked List
  • Reverse a Doubly Linked List
  • Find pairs with a given sum in a DLL
  • Count triplets in a sorted DLL whose sum is equal to a given value “X”
  • Sort a “k” sorted Doubly Linked List [Very IMP]
  • Rotate a Doubly Linked List by N nodes
  • Rotate a Doubly Linked List in a group of Given Size [Very IMP]
  • Can we reverse a linked list in less than O(n)?
  • Why Quicksort is preferred for Arrays and Merge Sort for LinkedLists?
  • Flatten a Linked List
  • Sort a Linked List of 0's, 1's, and 2's
  • Clone a linked list with next and random pointer
  • Merge K sorted Linked Lists
  • Multiply 2 numbers represented by Linked Lists
  • Delete nodes which have a greater value on the right side
  • Segregate even and odd nodes in a Linked List
  • Program for nth node from the end of a Linked List
  • Find the first non-repeating character from a stream of characters

Binary Trees

  • Level order traversal
  • Reverse Level Order traversal
  • Height of a tree
  • Diameter of a tree
  • Mirror of a tree
  • Inorder Traversal of a tree both using recursion and Iteration
  • Preorder Traversal of a tree both using recursion and Iteration
  • Postorder Traversal of a tree both using recursion and Iteration
  • Left View of a tree
  • Right View of Tree
  • Top View of a tree
  • Bottom View of a tree
  • Zig-Zag traversal of a binary tree
  • Check if a tree is balanced or not
  • Diagonal Traversal of a Binary Tree
  • Boundary traversal of a Binary Tree
  • Construct Binary Tree from String with Bracket Representation
  • Convert Binary Tree into Doubly Linked List
  • Convert Binary Tree into Sum Tree
  • Construct Binary Tree from Inorder and Preorder traversal
  • Find minimum swaps required to convert a Binary Tree into BST
  • Check if Binary Tree is Sum Tree or not
  • Print all nodes at distance k from a given node
  • Print all leaf nodes at same level
  • Find kth ancestor of a node in a binary tree
  • Check if a binary tree is a subtree of another binary tree
  • Print all the ancestors of a given node in a binary tree
  • Find the number of nodes in a complete binary tree
  • Find the largest BST subtree in a binary tree
  • Find the kth smallest element in a Binary Search Tree
  • Construct Binary Search Tree from preorder traversal
  • Find the level of a given node in a binary tree
  • Inorder Successor in BST
  • Delete a node in BST
  • Check if a binary tree is a binary search tree
  • Check if a tree is symmetric or not
  • Check if two binary trees are identical
  • Program to count the number of leaf nodes in a binary tree

BackTracking

  • Rat in a maze Problem
  • Printing all solutions in N-Queen Problem
  • Word Break Problem using Backtracking
  • Remove Invalid Parentheses
  • Sudoku Solver
  • m Coloring Problem
  • Print all palindromic partitions of a string
  • Subset Sum Problem
  • The Knight’s tour problem
  • Tug of War
  • Find shortest safe route in a path with landmines
  • Combinational Sum
  • Find Maximum number possible by doing at-most K swaps
  • Print all permutations of a string
  • Find if there is a path of more than k length from a source
  • Longest Possible Route in a Matrix with Hurdles
  • Print all possible paths from top left to bottom right of a mXn matrix
  • Partition of a set into K subsets with equal sum
  • Find the K-th Permutation Sequence of first N natural numbers

Stacks & Queues

  • Implement Stack from Scratch
  • Implement Queue from Scratch
  • Implement 2 stack in an array
  • Find the middle element of a stack
  • Implement "N" stacks in an Array
  • Check the expression has valid or Balanced parenthesis or not
  • Reverse a String using Stack
  • Design a Stack that supports getMin() in O(1) time and O(1) extra space
  • Find the next Greater element
  • The celebrity Problem
  • Arithmetic Expression evaluation
  • Evaluation of Postfix expression
  • Implement a method to insert an element at its bottom without using any other data structure
  • Reverse a stack using recursion
  • Sort a Stack using recursion
  • Merge Overlapping Intervals
  • Largest rectangular Area in Histogram
  • Length of the Longest Valid Substring
  • Expression contains redundant bracket or not
  • Implement Stack using Queue
  • Implement Stack using Deque
  • Stack Permutations (Check if an array is stack permutation of other)
  • Implement Queue using Stack
  • Implement "n" queue in an array
  • Implement a Circular queue
  • LRU Cache Implementation
  • Reverse a Queue using recursion
  • Reverse the first “K” elements of a queue
  • Interleave the first half of the queue with second half
  • Find the first circular tour that visits all Petrol Pumps
  • Minimum time required to rot all oranges
  • Distance of nearest cell having 1 in a binary matrix
  • First negative integer in every window of size “k”
  • Check if all levels of two trees are anagrams or not
  • Sum of minimum and maximum elements of all subarrays of size “k”
  • Minimum sum of squares of character counts in a given string after removing “k” characters
  • Queue based approach or first non-repeating character in a stream
  • Next Smaller Element

Heap

  • Implement a Maxheap/MinHeap using arrays and recursion
  • Sort an Array using heap (HeapSort)
  • Maximum of all subarrays of size k
  • “k” largest element in an array
  • Kth smallest and largest element in an unsorted array
  • Merge “K” sorted arrays [IMP]
  • Merge 2 Binary Max Heaps
  • Kth largest sum continuous subarrays
  • Leetcode - reorganize strings
  • Merge “K” Sorted Linked Lists [V.IMP]
  • Smallest range in “K” Lists
  • Median in a stream of Integers
  • Check if a Binary Tree is Heap
  • Connect “n” ropes with minimum cost
  • Convert BST to Min Heap
  • Convert min heap to max heap
  • Rearrange characters in a string such that no two adjacent are same
  • Minimum sum of two numbers formed from digits of an array

Graph

  • Create a Graph, print it
  • Implement BFS algorithm
  • Implement DFS Algo
  • Detect Cycle in Directed Graph using BFS/DFS Algo
  • Detect Cycle in UnDirected Graph using BFS/DFS Algo
  • Search in a Maze
  • Minimum Step by Knight
  • Flood fill algo
  • Clone a graph
  • Making wired Connections
  • Word Ladder
  • Dijkstra algo
  • Implement Topological Sort
  • Minimum time taken by each job to be completed given by a Directed Acyclic Graph
  • Find whether it is possible to finish all tasks or not from given dependencies
  • Find the no. of Islands
  • Given a sorted Dictionary of an Alien Language, find order of characters
  • Implement Kruskal’s Algorithm
  • Implement Prim’s Algorithm
  • Total no. of Spanning tree in a graph
  • Implement Bellman Ford Algorithm
  • Implement Floyd Warshall Algorithm
  • Travelling Salesman Problem
  • Graph Colouring Problem
  • Snake and Ladders Problem
  • Find bridge in a graph
  • Count Strongly connected Components (Kosaraju Algo)
  • Check whether a graph is Bipartite or Not
  • Detect Negative cycle in a graph
  • Longest path in a Directed Acyclic Graph
  • Journey to the Moon
  • Cheapest Flights Within K Stops
  • Oliver and the Game
  • Water Jug problem using BFS
  • Find if there is a path of more than k length from a source
  • M-Colouring Problem
  • Minimum edges to reverse to make path from source to destination
  • Paths to travel each node using each edge (Seven Bridges)
  • Vertex Cover Problem
  • Chinese Postman or Route Inspection
  • Number of Triangles in a Directed and Undirected Graph
  • Minimise the cashflow among a given set of friends who have borrowed money from each other
  • Two Clique Problem

Trie

  • Construct a trie from scratch
  • Find shortest unique prefix for every word in a given list
  • Word Break Problem | (Trie solution)
  • Given a sequence of words, print all anagrams together
  • Implement a Phone Directory
  • Print unique rows in a given boolean matrix

Dynamic Programming

  • Coin Change Problem
  • Knapsack Problem
  • Binomial Coefficient Problem
  • Permutation Coefficient Problem
  • Program for nth Catalan Number
  • Matrix Chain Multiplication
  • Edit Distance
  • Subset Sum Problem
  • Friends Pairing Problem
  • Gold Mine Problem
  • Assembly Line Scheduling Problem
  • Painting the Fence Problem
  • Maximize The Cut Segments
  • Longest Common Subsequence
  • Longest Repeated Subsequence
  • Longest Increasing Subsequence
  • Space Optimized Solution of LCS
  • LCS (Longest Common Subsequence) of three strings
  • Maximum Sum Increasing Subsequence
  • Count all subsequences having product less than K
  • Longest subsequence such that difference between adjacent is one
  • Maximum subsequence sum such that no three are consecutive
  • Egg Dropping Problem
  • Maximum Length Chain of Pairs
  • Maximum size square sub-matrix with all 1s
  • Maximum sum of pairs with specific difference
  • Min Cost Path Problem
  • Maximum difference of zeros and ones in binary string
  • Minimum number of jumps to reach end
  • Minimum cost to fill given weight in a bag
  • Minimum removals from array to make max min K
  • Longest Common Substring
  • Count number of ways to reach a given score in a game
  • Count Balanced Binary Trees of Height h
  • Largest Sum Contiguous Subarray [V IMP]
  • Smallest sum contiguous subarray
  • Unbounded Knapsack (Repetition of items allowed)
  • Word Break Problem
  • Largest Independent Set Problem
  • Partition problem
  • Longest Palindromic Subsequence
  • Count All Palindromic Subsequence in a given String
  • Longest Palindromic Substring
  • Longest alternating subsequence
  • Weighted Job Scheduling
  • Coin game winner where every player has three choices
  • Count Derangements (Permutation such that no element appears in its original position) [IMPORTANT]
  • Maximum profit by buying and selling a share at most twice [IMP]
  • Optimal Strategy for a Game
  • Optimal Binary Search Tree
  • Palindrome Partitioning Problem
  • Word Wrap Problem
  • Mobile Numeric Keypad Problem [IMP]
  • Boolean Parenthesization Problem
  • Largest rectangular sub-matrix whose sum is 0
  • Largest area rectangular sub-matrix with equal number of 1’s and 0’s [IMP]
  • Maximum sum rectangle in a 2D matrix
  • Maximum profit by buying and selling a share at most k times
  • Find if a string is interleaved of two other strings
  • Maximum Length of Pair Chain

Bit Manipulation

  • Count set bits in an integer
  • Find the two non-repeating elements in an array of repeating elements
  • Count number of bits to be flipped to convert A to B
  • Count total set bits in all numbers from 1 to n
  • Program to find whether a no is power of two
  • Find position of the only set bit
  • Copy set bits in a range
  • Divide two integers without using multiplication, division, and mod operator
  • Calculate square of a number without using *, /, and pow()
  • Power Set

On this page