Table of Content
Easy Level
- Binary representation of a given number
- Find max in struct array
- Find if two rectangles overlap
- Calculate the difficulty of a sentence
- Check if a linked list is Circular Linked List
- Converting Decimal Number lying between 1 to 3999 to Roman Numerals
- Count distinct elements in every window of size k
- Count all possible paths from top left to bottom right of a mXn matrix
- Evaluate a boolean expression represented as string
- Find common elements in three sorted arrays
- Find the number closest to n and divisible by m
- Find position of the only set bit
- Find the Missing Number
- Inplace rotate square matrix by 90 degrees | Set 1
- k largest(or smallest) elements in an array | added Min Heap method
- Level Order Tree Traversal
- Merge Sort
- Run Length Encoding
- Sort all even numbers in ascending order and then sort all odd numbers in descending order
- Square root of an integer
- Stack Data Structure (Introduction and Program)
- URLify a given string (Replace spaces is %20)
- Find the middle of a given linked list in C and Java
- Write an Efficient Function to Convert a Binary Tree into its Mirror Tree
- Write one line C function to find whether a no is power of two
- Write your own atoi()
- Add two numbers represented by linked lists | Set 1
- Anagram Substring Search (Or Search for all permutations)
- Binary Search Tree | Set 1 (Search and Insertion)
- Boundary Traversal of binary tree
- Breadth First Traversal or BFS for a Graph
- Check if binary representation of a number is palindrome
- Construct Tree from given Inorder and Preorder traversals
- Convert a given tree to its Sum Tree
- Converting Roman Numerals to Decimal lying between 1 to 3999
- Count Inversions in an array | Set 1 (Using Merge Sort)
- Delete middle of linked list
- Design a stack that supports getMin() in O(1) time and O(1) extra space
- Diameter of a Binary Tree
- Dynamic Programming | Set 10 ( 0-1 Knapsack Problem)
- Dynamic Programming | Set 15 (Longest Bitonic Subsequence)
- Find all strings that match specific pattern in a dictionary
- Find Excel column name from a given column number
- Find the minimum element in a sorted and rotated array
- Find next greater number with same set of digits
- Find N'th item in a set formed by sum of two arrays
- Find the element that appears once
- Find the row with maximum number of 1s
- Find the two non-repeating elements in an array of repeating elements
- Function to check if a singly linked list is palindrome
- Generate n-bit Gray Codes
- Given only a pointer/reference to a node to be deleted in a singly lin
- How to determine if a binary tree is height-balanced?
- Intersection of two Sorted Linked Lists
- Length of the longest substring without repeating characters
- Level order traversal in spiral form
- Lowest Common Ancestor in a Binary Tree | Set 1
- Lowest Common Ancestor in a Binary Search Tree.
- Majority Element
- Maximum Product Subarray
- Maximum width of a binary tree
- Merge two sorted linked lists such that merged list is in reverse order
- Merge two sorted linked lists
- Microsoft Interview experience | Set 100 (On Campus for Internship on IDC and IT)
- Minimum time required to rot all oranges
- Mobile Numeric Keypad Problem
- Number of buildings facing the sun
- Pairwise swap elements of a given linked list
- Print a given matrix in spiral form
- Print a pattern without using any loop
- Print all Jumping Numbers smaller than or equal to a given value
- Print all subarrays with 0 sum
- Print BST keys in the given range
- Print level order traversal line by line
- Print nodes at k distance from root
- Print the string by ignoring alternate occurrences of any character
- Program to add two binary strings
- Program to validate an IP address
- Implement Queue using Stacks
- Remove all duplicates from a given string
- Remove every k-th node of the linked list
- Reverse Level Order Traversal
- Reverse words in a given string
- Root to leaf path sum equal to a given number
- Search a Word in a 2D Grid of characters
- Search an element in a sorted and rotated array
- Sort a linked list of 0s, 1s and 2s
- Sort an array of 0s, 1s and 2s
- Sorted insert for circular linked list
- Stock Buy Sell to Maximize Profit
- The Celebrity Problem
- Tree Isomorphism Problem
- Two elements whose sum is closest to zero
- Union and Intersection of two Linked Lists
- Given an a
- Write a function to reverse a linked list
- Write Code to Determine if Two Trees are Identical
Medium Level
- A program to check if a binary tree is BST or not
- Boggle | Set 2 (Using Trie)
- Check if a binary tree is subtree of another binary tree | Set 2
- Dynamic Programming | Set 33 (Find if a string is interleaved of two other stri
- Clone a linked list with next and random pointer | Set 2
- Combinational Sum
- Connect nodes at same level
- Construct Binary Tree from given Parent Array representation
- Program to convert a given number to words
- Count number of binary strings without consecutive 1's
- Detect and Remove Loop in a Linked List
- Detect Cycle in a Directed Graph
- Dynamic Programming | Set 22 (Box Stacking Problem)
- Dynamic Programming | Set 8 (Matrix Chain Multiplication)
- Factorial of a large number
- Find the first circular tour that visits all petrol pumps
- Find all distinct subsets of a given set
- Find Excel column name from a given column number
- Find the first non-repeating character from a stream of characters
- Find four elements that sum to a given value | Set 2 ( O(n^2Logn) Solution)
- Find next greater number with same set of digits
- Find the number of islands | Set 1 (Using DFS)
- Flattening a Linked List
- How to design a tiny URL or URL shortener?
- K'th Smallest/Largest Element in Unsorted Array | Set 2 (Expected Linear Time)
- Largest Rectangular Area in a Histogram | Set 2
- Largest Sum Contiguous Subarray
- Length of longest palindrome list in a linked list using O(1) extra space
- Dynamic Programming | Set 29 (Longest Common Substring)
- Longest Even Length Substring such that Sum of First and Second Half is same
- Maximum size rectangle binary sub-matrix with all 1s
- Merge k sorted arrays | Set 1
- Merge two BSTs with limited extra space
- Minimum steps to reach a destination
- Multiply Large Numbers represented as Strings
- Placements | QA | Progressions
- Print all nodes that are at distance k from a leaf node
- Printing brackets in Matrix Chain Multiplication Problem
- Reverse a Linked List in groups of given size
- Sort an array according to the order defined by another array
- Topological Sorting
- Trapping Rain Water
- Validity of a given Tic-Tac-Toe board configuration
- Given an a
- Write a function to get the intersection point of two Linked Lists.
- Write an Efficient Method to Check if a Number is Multiple of 3
Hard Level
- Backtracking | Set 7 (Sudoku)
- Dynamic Programming | Set 37 (Boolean Parenthesization Problem)
- Find Recurring Sequence in a Fraction
- Two nodes of a BST are swapped, correct the BST
- Implement a Phone Directory
- Implement LRU Cache
- Manacher's Algorithm - Linear Time Longest Palindromic Substring - Part 1
- Median in a stream of integers (running integers)
- Travelling Salesman Problem | Set 1 (Naive and Dynamic Programming)