Love brabber 450 problems
Array
- Reverse the array
- Find the maximum and minimum element in an array
- Find the "Kth" max and min element of an array
- Given an array which consists of only 0, 1, and 2. Sort the array without using any sorting algorithm
- Move all the negative elements to one side of the array
- Find the Union and Intersection of the two sorted arrays
- Write a program to cyclically rotate an array by one
- Find the largest sum contiguous subarray [V. IMP]
- Minimize the maximum difference between heights [V. IMP]
- Minimum no. of jumps to reach the end of an array
- Find duplicate in an array of N+1 Integers
- Merge 2 sorted arrays without using extra space
- Kadane's Algo [V.V.V.V.V IMP]
- Merge Intervals
- Next Permutation
- Count Inversion
- Best time to buy and sell stock
- Find all pairs in an integer array whose sum is equal to a given number
- Find common elements in 3 sorted arrays
- Rearrange the array in alternating positive and negative items with O(1) extra space
- Find if there is any subarray with sum equal to 0
- Find factorial of a large number
- Find maximum product subarray
- Find longest consecutive subsequence
- Given an array of size n and a number k, find all elements that appear more than "n/k" times
- Maximum profit by buying and selling a share at most twice
- Find whether an array is a subset of another array
- Find the triplet that sums to a given value
- Trapping Rainwater problem
- Chocolate Distribution problem
- Smallest Subarray with sum greater than a given value
- Three-way partitioning of an array around a given value
- Minimum swaps required to bring elements less than or equal to K together
- Minimum no. of operations required to make an array palindrome
- Median of 2 sorted arrays of equal size
- Median of 2 sorted arrays of different sizes
Matrix
- Spiral traversal on a Matrix
- Search an element in a matrix
- Find the median in a row-wise sorted matrix
- Find the row with the maximum no. of 1's
- Print elements in sorted order using a row-column-wise sorted matrix
- Maximum size rectangle
- Find a specific pair in a matrix
- Rotate matrix by 90 degrees
- Kth smallest element in a row-column wise sorted matrix
- Common elements in all rows of a given matrix
String
- Reverse a String Link
- Check whether a String is Palindrome or not Link
- Find Duplicate characters in a string Link
- Why strings are immutable in Java? Link
- Write a Code to check whether one string is a rotation of another Link
- Write a Program to check whether a string is a valid shuffle of two strings or not Link
- Count and Say problem Link
- Write a program to find the longest Palindrome in a string (Longest palindromic Substring) Link
- Find Longest Recurring Subsequence in String Link
- Print all Subsequences of a string Link
- Print all the permutations of the given string Link
- Split the Binary string into two substrings with equal 0’s and 1’s Link
- Word Wrap Problem [VERY IMP] Link
- EDIT Distance [Very Imp] Link
- Find next greater number with the same set of digits [Very Very IMP] Link
- Balanced Parenthesis problem [Imp] Link
- Word break Problem [Very Imp] Link
- Rabin Karp Algorithm Link
- KMP Algorithm Link
- Convert a Sentence into its equivalent mobile numeric keypad sequence Link
- Minimum number of bracket reversals needed to make an expression balanced Link
- Count All Palindromic Subsequences in a given String Link
- Count the number of occurrences of a given string in a 2D character array Link
- Search a Word in a 2D Grid of characters Link
- Boyer Moore Algorithm for Pattern Searching Link
- Converting Roman Numerals to Decimal Link
- Longest Common Prefix Link
- Number of flips to make a binary string alternate Link
- Find the first repeated word in a string Link
- Minimum number of swaps for bracket balancing Link
- Find the longest common subsequence between two strings Link
- Program to generate all possible valid IP addresses from a given string Link
- Write a program to find the smallest window that contains all characters of another string Link
- Rearrange characters in a string such that no two adjacent ones are the same Link
- Minimum characters to be added at the front to make the string palindrome Link
- Given a sequence of words, print all anagrams together Link
- Find the smallest window in a string containing all characters of another string Link
- Recursively remove all adjacent duplicates Link
- String matching where one string contains wildcard characters Link
- Function to find the number of customers who could not get a computer Link
- Transform One String to Another using Minimum Number of Given Operations Link
- Check if two given strings are isomorphic to each other Link
- Recursively print all sentences that can be formed from a list of word lists Link
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