Medium | Armstrong Number | Oracle VMware | |

Medium | Scramble String | Amazon Fanatics Samsung | string |

Easy | Valid Anagrams | Amazon Goldman Sachs Google Microsoft Nagarro | string |

Medium | Contiguous Array | Amazon MakeMyTrip Morgan Stanley Paytm | array |

Medium | Convex Hull Algorithm | Morgan Stanley Samsung | algorithm |

Medium | Group Anagrams | Amazon Facebook Google Microsoft | string |

Hard | Integer to English words | Amazon Facebook Microsoft Oracle | string |

Medium | Unique Paths II | | matrix |

Easy | Maximum Length of Repeated Subarray | | array |

Easy | Count pair with Given Sum | Accolite Amazon Factset Hike | array |

| Minimum Delete Operations to make all Elements of Array Same | | hashing |

| Maximum Distance Between two Occurrences of Same Element in Array | | hashing |

| Group Multiple Occurrence of Array Elements Ordered by first Occurrence | | hashing |

| Union and Intersection of two Linked Lists | | linked-list |

| Maximum difference between frequency of two elements such that element having greater frequency is also greater | | array |

| Smallest Subarray with k Distinct Numbers | | hashing |

| All Unique Triplets that Sum up to a Given Value | | array |

Easy | Longest Subarray Having Count of 1s One More than Count of 0s | | array |

| Maximum Array from Two given Arrays Keeping Order Same | | array |

| Round Robin Scheduling | | |

Easy | Count Subarrays with Same Even and Odd Elements | | array |

| Find Smallest Range Containing Elements from k Lists | | dynamic-programming |

| Guess Number Higher or Lower II | | dynamic-programming |

Easy | Rearrange an Array Such that arr[i] is equal to i | | array |

Easy | Segregate 0s and 1s in an Array | | array |

| Find Largest d in Array such that a + b + c = d | | hashing |

| Maximum Number of Chocolates to be Distributed Equally Among k Students | | array |

Easy | Maximum Consecutive Numbers Present in an Array | | array |

Easy | Move all Negative Numbers to Beginning and Positive to End with Constant Extra Space | | array |

| Queries for Number of Distinct Elements in a Subarray | | array |

| Queries on Probability of Even or Odd Number in given Ranges | | array |

| Total Numbers With no Repeated Digits in a Range | | array |

| Range Minimum Query (Square Root Decomposition and Sparse Table) | | array |

| Range Sum Query using Sparse Table | | array |

| Count and Toggle Queries on a Binary Array | | array |

| Queries for Decimal Values of Subarrays of a Binary Array | | array |

| Maximize Elements Using Another Array | | array |

| Find whether an array is subset of another array | | array |

| Minimum swaps required to bring all elements less than or equal to k together | | hashing |

| Maximum sum of pairs with specific difference | | dynamic-programming |

Hard | Smallest Good Base | | string |

| Find top three repeated in array | | hashing |

| Maximum sum of a path in a Right Number Triangle | | dynamic-programming |

| Sorting using trivial hash function | | hashing |

| Maximum number of segments of lengths a, b and c | | dynamic-programming |

| Maximum subsequence sum such that no three are consecutive | | dynamic-programming |

| Count all subsequences having product less than K | | dynamic-programming |

| Core Java Interview Questions | | |

| Find duplicates in a given array when elements are not limited to a range | | hashing |

| Minimum insertions to form a palindrome with permutations allowed | | string |

| LCS (Longest Common Subsequence) of three strings | | dynamic-programming |

| Check if Array Contains Contiguous Integers With Duplicates Allowed | | hashing |

| Sum of f(a[i], a[j]) over all pairs in an array of n integers | | hashing |

| Longest Repeated Subsequence | | dynamic-programming |

| Count of index pairs with equal elements in an array | | hashing |

| Find Sum of all unique sub-array sum for a given array | | hashing |

| Sequences of given length where every element is more than or equal to twice of previous | | dynamic-programming |

| Find maximum length Snake sequence | | dynamic-programming |

| Print all triplets in sorted array that form AP | | array |

| Minimum sum of multiplications of n numbers | | dynamic-programming |

| Find number of pairs in an array such that their XOR is 0 | | array |

| Count ways to reach the nth stair using step 1, 2 or 3 | | dynamic-programming |

| Minimum Sum Path in a Triangle | | dynamic-programming |

| Longest subarray not having more than K distinct elements | | hashing |

Medium | Morris Traversal | Amazon Facebook Fourkites Google Microsoft | tree |

| Kth ancestor of a node in binary tree | | tree |

| Maximum possible difference of two subsets of an array | | hashing |

| Find postorder traversal of BST from preorder traversal | | tree |

| Inorder Successor of a node in Binary Tree | | tree |

| Given an Array of Pairs Find all Symmetric Pairs in it | | array |

| Minimum operation to make all elements equal in array | | hashing |

| Check if a given array can represent Preorder Traversal of Binary Search Tree | | tree |

| Construct Binary Tree from given Parent Array representation | | tree |

| Given a binary tree, how do you remove all the half nodes? | | tree |

| Iterative Preorder Traversal | | tree |

| Find subarray with given sum (Handles Negative Numbers) | | hashing |

| Length of the largest subarray with contiguous elements | | hashing |

| Find distance between two nodes of a Binary Tree | | tree |

| Count number of triplets with product equal to given number | | hashing |

| Maximum difference between first and last indexes of an element in array | | hashing |

| Write Code to Determine if Two Trees are Identical | | tree |

| Find any one of the multiple repeating elements in read only array | | hashing |

| Find elements which are present in first array and not in second | | hashing |

| Boundary Traversal of binary tree | | tree |

| Check for Palindrome after every character replacement Query | | hashing |

| Difference between highest and least frequencies in an array | | hashing |

| Diagonal Traversal of Binary Tree | | tree |

| Bottom View of a Binary Tree | | tree |

| Letter Combinations of a Phone Number | | queue |

| Find four elements that sum to a given value (Hashmap) | | hashing |

| Count even length binary sequences with same sum of first and second half bits | | dynamic-programming |

| Longest subsequence such that difference between adjacents is one | | dynamic-programming |

| Find all triplets with zero sum | | array |

| k-th missing element in increasing sequence which is not present in a given sequence | | hashing |

| How to check if two given sets are disjoint? | | hashing |

| Check if a given array contains duplicate elements within k distance from each other | | hashing |

| Print Right View of a Binary Tree | | tree |

| Check if two arrays are equal or not | | hashing |

| Pair with given product | | hashing |

| Maximum path sum in a triangle | | dynamic-programming |

| Path with maximum average value | | dynamic-programming |

| Maximum Distance in Array | | matrix |

| Find if there is a subarray with 0 sum | | hashing |

| Find missing elements of a range | | hashing |

| First element occurring k times in an array | | hashing |

| Maximum product of an increasing subsequence | | dynamic-programming |

| Print all subarrays with 0 sum | | hashing |

| Contains Duplicate | | hashing |

| Print Maximum Length Chain of Pairs | | dynamic-programming |

| Print n terms of Newman-Conway Sequence | | dynamic-programming |

| Count Substrings with equal number of 0s, 1s and 2s | | hashing |

| Longest Substring Without Repeating Characters | | string |

| Remove Duplicates from Sorted List II | | linked-list |

| Form minimum number from given sequence | | string |

| Print modified array after executing the commands of addition and subtraction | | dynamic-programming |

| Write a function to get the intersection point of two Linked Lists | | linked-list |

| Newman-Conway Sequence | | dynamic-programming |

| Generate all possible sorted arrays from alternate elements of two given sorted arrays | | array |

| Moser-de Bruijn Sequence | | dynamic-programming |

| Range Queries for Longest Correct Bracket Subsequence | | dynamic-programming |

| Print modified array after multiple array range increment operations | | dynamic-programming |

| Number of indexes with equal elements in given range | | dynamic-programming |

| Longest Bitonic Subsequence | | dynamic-programming |

| Golomb sequence | | dynamic-programming |

| Array Queries for multiply, replacements and product | | array |

| Newmanâ€“Shanksâ€“Williams prime | | dynamic-programming |

| Difference Array | Range update query in O(1) | | dynamic-programming |

| Painting Fence Algorithm | | dynamic-programming |

| Check in binary array the number represented by a subarray is odd or even | | array |

| Largest subarray with equal number of 0s and 1s | | hashing |

| Binary array after M range toggle operations | | dynamic-programming |

| Constant time range add operation on an array | | dynamic-programming |

| Delete Nth node from the end of the given linked list | | linked-list |

| Delete a Node from linked list without head pointer | | linked-list |

| Count Primes in Ranges | | dynamic-programming |

| Print the Fibonacci numbers in reverse order | | dynamic-programming |

| Print Fibonacci sequence using 2 variables | | dynamic-programming |

| Non-overlapping sum of two sets | | hashing |

| Find all pairs (a, b) in an array such that a % b = k | | hashing |

| Range LCM Queries | | tree |

| Queries on XOR of greatest odd divisor of the range | | dynamic-programming |

| Compute nCr % p | | dynamic-programming |

| Cutting a Rod | | dynamic-programming |

| Queries for counts of array elements with values in given range | | array |

| Number of elements less than or equal to a given number in a given subarray | | tree |

| Largest divisible pairs subset | | dynamic-programming |

| GCDs of given index ranges in an array | | tree |

| Queries for GCD of all numbers of an array except elements in a given range | | dynamic-programming |

| Find whether a subarray is in form of a mountain or not | | dynamic-programming |

| Mean of range in array | | dynamic-programming |

| Subset with sum divisible by m | | dynamic-programming |

| Check if any two intervals overlap among a given set of intervals | | dynamic-programming |

| Range sum queries without updates | | dynamic-programming |

| Max stack | | stack |

| Subset Sum Problem in O(sum) space | | dynamic-programming |

Easy | Find Index of Closing Bracket for a Given Opening Bracket in an Expression | Adobe Amazon Flipkart Oracle OYO Rooms Snapdeal Walmart Labs Yatra | stack |

| Products of ranges in an array | | array |

| Friends Pairing Problem | | dynamic-programming |

| Happy Number | | |

| Palindrome Permutation | | array |

| Gold Mine Problem | | dynamic-programming |

| Palindrome Number | | |

Easy | Design a stack that supports getMin() in O(1) time and O(1) extra space | Adobe Amazon Factset Flipkart Goldman Sachs GreyOrange Kuliza Microsoft Paytm Publicis Sapient SAP Snapdeal VMware | stack |

| Find Maximum Level sum in Binary Tree | | tree |

| Tiling Problem | | dynamic-programming |

| Permutation Coefficient | | dynamic-programming |

Easy | Sort a stack using recursion | Amazon Goldman Sachs IBM Kuliza Yahoo | stack |

| Longest Increasing Consecutive Subsequence | | dynamic-programming |

| Red-Black Tree Introduction | | tree |

Easy | Delete middle element of a stack | Amazon | stack |

Medium | Sorting array using Stacks | Amazon Goldman Sachs IBM Kuliza Yahoo | stack |

| Binomial Coefficient | | dynamic-programming |

| Binary Search Tree Delete Operation | | tree |

| Best Time to Buy and Sell Stock | | dynamic-programming |

| Implementation of Deque using Doubly Linked List | | linked-list |

Medium | Delete consecutive same words in a sequence | Factset | string |

| Iterative Method to find Height of Binary Tree | | tree |

Medium | Sort a stack using a temporary stack | Amazon Goldman Sachs IBM Kuliza Yahoo | stack |

Easy | Reverse a stack without using extra space in O(n) | Factset MAQ | stack |

| Clone a Binary Tree with Random Pointers | | tree |

| Top K Frequent Elements | | queue |

| Level order traversal using two Queues | | queue |

Easy | Bubble sort using two Stacks | Amazon Capgemini Delhivery MAQ | stack |

Hard | Text Justification | Amazon Coursera Google Indeed LinkedIn Microsoft Pinterest Snapchat | string |

Easy | Reverse individual words | Amazon | string |

Medium | Count subarrays where second highest lie before highest | HackerRank | stack |

| Find the smallest binary digit multiple of given number | | graph |

| Minimum Operations to convert X to Y | | graph |

Easy | Find maximum difference between nearest left and right smaller elements | Fourkites | stack |

Medium | Remove brackets from an algebraic string containing + and â€“ operators | Adobe Amazon Fourkites | stack |

Easy | Implement a stack using single queue | Amazon Fourkites Google MAQ Microsoft | stack |

| Find the First Circular Tour that visits all the Petrol Pumps | | queue |

| Sort an array according to the order defined by another array | | array |

| Rearrange a binary string as alternate x and y occurrences | | array |

| Shuffle 2n integers as a1-b1-a2-b2-a3-b3-..bn without using extra space | | array |

| Distinct adjacent elements in an array | | array |

| Construction of Longest Increasing Subsequence (N log N) | | array |

| Maximize sum of consecutive differences in a circular array | | array |

| Three way partitioning of an array around a given range | | array |

| Minimum time required to rot all oranges | | graph |

| Check if X can give change to every person in the Queue | | array |

| Check if two nodes are on the same path in a Tree | | graph |

| Check if all levels of two Binary Tree are anagrams or not | | tree |

| Minimum sum of squares of character counts in a given string after removing k characters | | queue |

| Rearrange an array such that â€˜arr[j]â€™ becomes â€˜iâ€™ if â€˜arr[i]â€™ is â€˜jâ€™ | | array |

| Maximum length subsequence with difference between adjacent elements as either 0 or 1 | | array |

| Replace two consecutive equal values with one greater | | array |

| Find a sorted subsequence of size 3 in linear time | | array |

| Maximum Product Subarray | | array |

| Convert array into Zig-Zag fashion | | array |

| First negative integer in every window of size k | | queue |

| Queue based approach for first non-repeating character in a stream | | queue |

| Distance of nearest cell having 1 in a binary matrix | | queue |

| Sum of minimum and maximum elements of all subarrays of size k | | queue |

| An Interesting Method to generate Binary Numbers from 1 to n | | tree |

| Find the largest multiple of 3 | | queue |

| Transpose Graph | | graph |

| Check if the given array can represent Level Order Traversal of Binary Search Tree | | tree |

| Number of siblings of a given Node in n-ary Tree | | tree |

| Check whether a given Binary Tree is Complete or not | | tree |

| Count the number of nodes at given level in a tree using BFS | | tree |

| BFS for Disconnected Graph | | graph |

| Page Replacement Algorithms in Operating Systems | | algorithm |

| Check if a queue can be sorted into another queue using a stack | | queue |

| Priority Queue using doubly linked list | | queue |

| Implement Stack and Queue using Deque | | queue |

| Form Minimum Number From Given Sequence | Amazon Goldman Sachs | stack |

| Minimum number of distinct elements after removing m items | | tree |

| Convert BST into a Min-Heap without using array | | tree |

Medium | Pattern Occurrences using Stack | | stack |

Medium | Number Of Longest Increasing Subsequence | Amazon Samsung Zoho | dynamic-programming |

| Merge two BSTs with limited extra space | | tree |

| Count subarrays with equal number of 1â€™s and 0â€™s | | hashing |

Easy | Iterative Postorder Traversal Using Two Stacks | Adobe Amazon Factset Fourkites Paytm | stack |

Medium | Stack Permutations (Check if an array is stack permutation of other) | Amazon Fourkites | stack |

| Palindrome Substring Queries | | hashing |

| Rearrange array such that even index elements are smaller and odd index elements are greater | | array |

| Segregate even and odd numbers | | array |

| Minimum Steps to reach target by a Knight | | graph |

| Binary Tree to Binary Search Tree Conversion using STL set | | tree |

Medium | Growable array based stack | MAQ Walmart Labs | stack |

Easy | Find Minimum In Rotated Sorted Array | Adobe Amazon Microsoft Morgan Stanley Samsung Snapdeal Times Internet | array |

| Implementation of Deque using circular array | | queue |

| Move all negative elements to end in order with extra space allowed | | array |

| Kâ€™th Largest element in BST using constant extra space | | tree |

| Rearrange an array in order â€“ smallest, largest, 2nd smallest, 2nd largest | | sorting |

| Rearrange array such that even positioned are greater than odd | | array |

| Double the first element and move zero to end | | array |

| Arrange given numbers to form the biggest number | | string |

| Kâ€™th Largest Element in BST when modification to BST is not allowed | | tree |

Easy | Tracking current Maximum Element in a Stack | Factset Fourkites | stack |

Medium | Iterative method to find ancestors of a given binary tree | Adobe Amazon Fourkites Google Morgan Stanley Paytm Samsung | stack |

Easy | Check if stack elements are pairwise consecutive | Delhivery Factset Fourkites | stack |

Easy | Remove duplicates from sorted array | Amazon Facebook Morgan Stanley Wipro Xome Zoho | array |

| Check if each internal node of a BST has exactly one child | | tree |

| Elements to be added so that all elements of a range are present in array | | hashing |

| Count subarrays having total distinct elements same as original array | | hashing |

Easy | Product of array except self | Accolite Amazon DE Shaw Morgan Stanley Opera | array |

| Height of a generic tree from parent array | | tree |

| Find k-th smallest element in BST (Order Statistics in BST) | | tree |

Easy | Linked List Cycle | Accolite Amazon MAQ Samsung | linked-list |

| Vertical sum in a given binary tree | | tree |

| A program to check if a binary tree is BST or not | | tree |

| Check for Identical BSTs without building the trees | | tree |

Easy | Maximum Depth Of Binary Tree | Amazon Cadence India CouponDunia Factset FreeCharge MakeMyTrip Monotype Solutions Snapdeal Synopsys Teradata VMware Zoho | tree |

| Palindrome Partitioning | | dynamic-programming |

Hard | First missing positive | Accolite Amazon Factset Samsung Snapdeal | array |

Easy | Reverse Integer | MakeMyTrip MAQ | string |

Easy | Reverse words in a string | Accolite Adobe Amazon Cisco Goldman Sachs MakeMyTrip MAQ Microsoft Morgan Stanley Paytm PayU SAP Labs Wipro Zoho | string |

Easy | Reverse a String | MAQ o9 solutions TCS | string |

Easy | Seconds to Days | MAQ | |

| Cuckoo Hashing | | hashing |

| Subarrays with distinct elements | | hashing |

| Find the minimum distance between two numbers | | array |

| Boolean Parenthesization Problem | | dynamic-programming |

| K maximum sums of overlapping contiguous sub-arrays | | dynamic-programming |

| Count quadruples from four sorted arrays whose sum is equal to a given value x | | hashing |

| Count pairs from two linked lists whose sum is equal to a given value | | hashing |

| Find sum of non-repeating elements (distinct) elements in an array | | hashing |

| Find distinct elements common to all rows of a matrix | | hashing |

| Numbers with prime frequencies greater than or equal to k | | hashing |

| Convert an array to reduced form | | hashing |

| Find pairs with given sum such that elements of pair are in different rows | | hashing |

| Common elements in all rows of a given matrix | | hashing |

| Count pairs from two sorted arrays whose sum is equal to a given value x | | array |

| Find all permuted rows of a given row in a matrix | | hashing |

| How to print maximum number of Aâ€™s using given four keys | | dynamic-programming |

| Collect maximum points in a grid using two traversals | | dynamic-programming |

| Given two unsorted arrays find all pairs whose sum is x | | hashing |

| Convert BST to Min Heap | | tree |

| Sort elements by frequency | | hashing |

Easy | Convert String To Int | MAQ | string |

| Find the first repeating element in an array of integers | | hashing |

| Maximum weight transformation of a given string | | dynamic-programming |

| Word Wrap Problem | | dynamic-programming |

| The Painterâ€™s Partition Problem | | dynamic-programming |

| Maximum Subarray Sum Excluding Certain Elements | | dynamic-programming |

| Merge Two Balanced Binary Search Trees | | tree |

| Binary Search Tree Search and Insertion | | tree |

| Count items common to both the lists but with different prices | | hashing |

| Mobile Numeric Keypad Problem | | dynamic-programming |

| Find the subarray with least average | | array |

| Find the smallest positive integer value that cannot be represented as sum of any subset of a given array | | array |

| Minimum number of subsets with distinct elements | | hashing |

| Maximum sum bitonic subarray | | dynamic-programming |

| Find minimum number of merge operations to make an array palindrome | | array |

| Minimize the maximum difference between the heights | | array |

| Longest Span with same Sum in two Binary arrays | | hashing |

| Convert a normal BST to Balanced BST | | tree |

| Largest area rectangular sub-matrix with equal number of 1â€™s and 0â€™s | | dynamic-programming |

| A Space Optimized DP solution for 0-1 Knapsack Problem | | dynamic-programming |

| Check given array of size n can represent BST of n levels or not | | tree |

| Find maximum average subarray of k length | | array |

| Printing brackets in Matrix Chain Multiplication Problem | | dynamic-programming |

| Size of The Subarray With Maximum Sum | | dynamic-programming |

| Find minimum difference between any two elements | | array |

| Minimum number of jumps to reach end | | dynamic-programming |

| Number of palindromic paths in a matrix | | dynamic-programming |

| Largest rectangular sub-matrix whose sum is 0 | | dynamic-programming |

| Maximum sum rectangle in a 2D matrix | | dynamic-programming |

| Count minimum steps to get the given desired array | | array |

| Maximum Sum Increasing Subsequence | | dynamic-programming |

| Largest Sum Contiguous Subarray | | dynamic-programming |

| Matrix Chain Multiplication | | dynamic-programming |

| Binary Tree to Binary Search Tree Conversion | | tree |

| Sorted Linked List to Balanced BST | | tree |

| Sorted Array to Balanced BST | | tree |

| Transform a BST to Greater sum Tree | | tree |

| Convert a BST to a Binary Tree such that sum of all greater keys is added to every key | | tree |

| Advantages of BST over Hash Table | | tree |

| Construct BST from its given Level Order Traversal | | tree |

| Construct BST from given Preorder Traversal | | tree |

| BST to a Tree with Sum of all Smaller Keys | | tree |

| Find the node with minimum value in a Binary Search Tree | | tree |

Easy | Single Number | Amazon | algorithm |

Hard | Shortest Palindrome | Amazon Delhivery Factset | string |

| Shuffle an Array | | algorithm |

| Maximal Square | | matrix |

| Super Ugly Number | | dynamic-programming |

| Dividing Array into Pairs With Sum Divisible by K | | array |

| Find Number of Employees Under every Employee | | hashing |

| Count Distinct Elements in Every Window of Size K | | array |

| Count Subsets Having Distinct Even Numbers | | array |

| Find Three Element From Different Three Arrays Such That a + b + c = sum | | array |

| Special Number | | algorithm |

| Divisible Pairs Counting | | dynamic-programming |

| Word Search | | matrix |

| K Empty Slots | | algorithm |

| The Knapsack Problem | | dynamic-programming |

| Bellman Ford Algorithm | | algorithm |

| Huffman Coding | | algorithm |

| Data Structure Designing | | |

| Longest Increasing Subsequence | | array |

| Reverse Bits | | string |

| Construct Binary Tree from Given Inorder and Preorder Traversals | | tree |

| Smallest Element Repeated Exactly K Times | | hashing |

| K-th Distinct Element in an Array | | hashing |

| Cumulative Frequency of Count of Each Element in an Unsorted Array | | hashing |

| Group Words With Same Set of Characters | | hashing |

| First non Repeating Element | | hashing |

| Second Most Repeated Word in a Sequence | | hashing |

| Count Pairs Whose Products Exist in Array | | array |

| Print All Distinct Elements of a Given Integer Array | | hashing |

| Pair of Positive Negative Values in an Array | | hashing |

| Remove Minimum Number of Elements Such That no Common Element Exist in both Array | | hashing |

| Maximum Occurring Character | | hashing |

| Count Pairs With Given Sum | | hashing |

| Insert Delete GetRandom | | algorithm |

| Merge Overlapping Intervals | | array |

| Decode Ways | | dynamic-programming |

| Median of Two Sorted Arrays | | array |

| Edit Distance | | string |

| Maximum Product Subarray | | array |

Hard | Substring With Concatenation Of All Words | Amazon DE Shaw | string |

Medium | Top K Frequent Words | Accolite Fourkites | string |

| Reverse a Path in BST using Queue | | tree |

Medium | Print Ancestors of a Given Binary Tree Node Without Recursion | Accolite Amazon Fourkites | tree |

Medium | Find Maximum of Minimum for Every Window Size in a Given Array | Amazon Flipkart SAP Labs Zoho | array |

Medium | Identify and Mark Unmatched Parenthesis in an Expression | TCS | stack |

Easy | Iterative Depth First Traversal of Graph | Amazon Factset Fanatics Google Oracle | graph |

Medium | Minimum Bracket Reversals | Amazon Fanatics | stack |

Medium | Expression Contains Redundant Bracket or Not | Amazon Paytm | string |

Easy | Reverse a Number Using Stack | MAQ Nokia o9 solutions | stack |

Medium | Swap Nodes In Pairs | Amazon Microsoft | linked-list |

Medium | Zigzag Conversion | PayPal | string |

Easy | Valid Palindrome | MAQ Nokia o9 solutions | string |

Medium | Check if Two Expressions With Brackets are Same | Amazon Hike Oracle Snapdeal Walmart Labs Wipro Yatra Zoho | stack |

| Priority Queue Using Singly Linked List | | queue |

| Reversing the First K elements of a Queue | | queue |

| Sorting a Queue without Extra Space | | queue |

| Longest Common Prefix Using Word by Word Matching | | array |

| Minimum Size Subarray Sum | | array |

| Intersection of Two Arrays | | array |

| Level order Traversal in Spiral Form | | tree |

| Kth Smallest Element in a BST | | tree |

| Search an Element in Sorted Rotated Array | | array |

| Valid Parenthesis String | | string |

| Maximum Product Subarray | | array |

| Toeplitz Matrix | | matrix |

| Balanced Binary Tree | | tree |

| Min Stack | | stack |

| Implement Stack using Queues | | stack |

| Interval Tree | | tree |

| Set Matrix Zeroes | | matrix |

| Smallest Multiple of a Given Number | | |

| Construct Complete Binary Tree from its Linked List Representation | | tree |

| Lowest Common Ancestor | | tree |

| Reversing a Queue using Recursion | | queue |

| 3 Sum | | array |

| Averages of Levels in Binary Tree | | tree |

| Queue using Stacks | | queue |

| Longest Palindromic Subsequence | | dynamic-programming |

| Find The Duplicate Number | | array |

| Maximum Sum of 3 Non-Overlapping Subarrays | | array |

| Minimum Index Sum of Two Lists | | array |

| Reservoir Sampling | | algorithm |

| Reversing a Queue | | queue |

| Split Array Into Consecutive Subsequences | | array |

| Lowest Common Ancestor in Binary Search Tree | | tree |

| KMP Algorithm | | algorithm |

| Most Frequent Element in an Array | | hashing |

| Evaluate Division | | algorithm |

| Prim’s Algorithm | | algorithm |

| Sudoku Solver | | matrix |

| Segment Tree | | tree |

| Minimum Path Sum | | matrix |

| Find Pair with Greatest Product in Array | | hashing |

| Minimum Cost to Hire K Workers | | algorithm |

| Find the Duplicate Element | | array |

| Fizz Buzz | | algorithm |

Medium | Arithmetic Expression Evaluation | Amazon Oracle | stack |

Medium | Maximum Product of Indexes of Next Greater on Left and Right | Factset Fourkites | stack |

Easy | Check for Balanced Parentheses in an Expression | Amazon Hike Oracle Snapdeal Walmart Labs Wipro Yatra Zoho | stack |

Medium | Evaluation of Postfix Expression | Amazon Oracle | stack |

Easy | Reverse a Stack Using Recursion | Factset Fourkites | stack |

Easy | Find if an Expression has Duplicate Parenthesis or Not | Amazon Factset Oracle | stack |

Medium | How to Implement Stack Using Priority Queue or Heap? | Amazon Fanatics Fourkites | stack |

Medium | Iterative Tower of Hanoi | MAQ | stack |

Medium | How to Efficiently Implement k Stacks in a Single Array? | Amazon Fourkites | stack |

| Find Maximum Depth of Nested Parenthesis in a String | | stack |

| Expression Evaluation | | stack |

| How to Create Mergable Stack? | | stack |

| The Stock Span Problem | | stack |

| Find Maximum Sum Possible Equal Sum of Three Stacks | | stack |

| Print Next Greater Number of Q queries | | stack |

| Check if an Array is Stack Sortable | | stack |

| Smallest Subarray With all Occurrences of a Most Frequent Element | | hashing |

| Find Top K (or Most Frequent) Numbers in a Stream | | hashing |

| Find the Only Repetitive Element Between 1 to N-1 | | array |

| Reverse a String using Stack | | stack |

| Next Greater Frequency Element | | hashing |

| Number of NGEs to the Right | | stack |

| Balanced Expression with Replacement | | stack |

| Trapping Rain Water | | array |

| Tower Of Hanoi | | algorithm |

| Sliding Window Technique | | algorithm |

| GCD Of Two Numbers | | algorithm |

| MiniMax Algorithm | | algorithm |

| Target Sum | | dynamic-programming |

| Counting Bits | | |

| Merge K Sorted Linked Lists | | linked-list |

| Wiggle Sort | | sorting |

| Decode String | | stack |

| Print a Binary Tree in Vertical Order | | tree |

| Finding K closest element | | array |

| Priority Queue in C++ | | queue |

| Priority Queue | | queue |

| Change the Array into Permutation of Numbers From 1 to N | | hashing |

| Jump Game | | array |

| Recursion | | stack |

| Binary Search Tree | | tree |

| Prefix to Infix Conversion | | stack |

| Postfix to Infix Conversion | | stack |

| Prefix to Postfix Conversion | | stack |

| Postfix to Prefix Conversion | | stack |

| Maximum Binary Tree | | tree |

| Nth Catalan Number | | algorithm |

| Combination Sum | | array |

| Next Permutation | | string |

| Longest Common Subsequence | | dynamic-programming |

| Max Area of Island | | graph |

| Search in Sorted Rotated Array | | array |

| Binary Tree zigzag level order Traversal | | tree |

| Recover Binary Search Tree | | tree |

| Populating Next Right Pointers in Each Node | | tree |

| Top View of Binary Tree | | tree |

| Unique Paths | | matrix |

| Merge Two Sorted Linked Lists | | linked-list |

| Repeated Substring Pattern | | string |

| Letter Case Permutation | | string |

| Find Median from data Stream | | algorithm |

| Level of Each node in a Tree from source node | | tree |

| Longest Common Prefix using Sorting | | string |

| House Robber | | dynamic-programming |

| Maximum Subarray | | array |

| Sliding Window Maximum | | array |

| Delete And Earn | | array |

| Length of Longest Fibonacci Subsequence | | array |

| Rainbow Table | | |

| Merging Intervals | | array |

| Backspace String Compare | | stack |

| Graph Cloning | | graph |

| Hamming Distance | | algorithm |

| First Bad Version | | array |

| Word Pattern | | string |

| Peak Index in a Mountain Array | | array |

| Regular Expression Matching | | string |

| Reorganize String | | string |

| Find Duplicate Subtrees | | tree |

| String Compression | | string |

| 4Sum | | array |

| Create Maximum Number | | array |

| Degree of an array | | array |

| Queue Reconstruction by Height | | array |

| Valid Parentheses | | string |

| Search Insert Position | | array |

| Find Peak Element | | array |

| Symmetric Tree | | tree |

| K-th Smallest Element in a Sorted Matrix | | matrix |

| Minimum Height Trees | | tree |

| Longest Common Prefix using Trie | | string |

| Valid Number | | string |

| Trim a Binary Search Tree | | tree |

| Valid Triangle Number | | array |

| Convert Sorted List to Binary Search Tree | | tree |

| Kruskal Algorithm | | graph |

| Number Of 1 bits | | algorithm |

| Power of Two | | array |

| Validate Binary Search Tree | | tree |

| Reverse Nodes in K-Group | | linked-list |

| Maximum size subarray sum equals k | | array |

| Path Sum | | tree |

| Find the Closest Palindrome number | | string |

| Count and Say | | string |

| Level Order Traversal of Binary Tree | | tree |

| Tree Traversal (Preorder, Inorder & Postorder) | | tree |

| LRU Cache Implementation | | algorithm |

| Merge Sort | | sorting |

| Find unique character in a string | | string |

| Integer to Roman | | string |

| Valid Sudoku | | matrix |

| Palindrome Partitioning | | dynamic-programming |

| Add two numbers | | linked-list |

| Next greater element | | array |

| Deletion in a Binary Tree | | tree |

| Unique Binary Search Trees | | tree |

| Floyd Warshall Algorithm | | graph |

| Bipartite Graph | | graph |

| Sieve of Eratosthenes | | algorithm |

| Strongly Connected Component | | graph |

| N queen problem | | matrix |

| Rabin Karp Algorithm | | string |

| Guess The Word | | array |

| Decision Tree | | tree |

| New 21 Game | | dynamic-programming |

| Verify Preorder Serialization of a Binary Tree | | tree |

| Missing Number | | array |

| Merge Sorted Array | | array |

| Partition Equal Subset Sum | | array |

| Last Stone Weight | | array |

| Sort Colors | | array |

| Rotate Array | | array |

| Applications of Breadth First Search and Depth First Search | | graph |

| Container with Most Water | | algorithm |

| Distinct Subsequences | | dynamic-programming |

| Matrix Chain Multiplication using Dynamic Programming | | matrix |

| Subarray Sum Equals k | | array |

| Infix to Postfix | | array |

| Isomorphic Strings | | string |

| Binary Tree Data Structure | | tree |

| Climbing stairs | | dynamic-programming |

| Topological Sorting | | sorting |

| Insertion Sort | | sorting |

| Self Dividing Numbers | | |

| Quick Sort | | sorting |

| Types of Binary Tree | | tree |

| Insertion in a Binary Tree | | tree |

| BFS vs DFS for Binary Tree | | graph |

| Depth First Search (DFS) for a Graph | | graph |

| Breadth First Search (BFS) for a Graph | | graph |

| String comparison containing wildcards | | string |

| Serialize and Deserialize Binary Tree | | tree |

| Fibonacci numbers | | algorithm |

| Graph and its representation | | graph |

| Reverse a linked list | | linked-list |

| Subset sum problem | | dynamic-programming |

| Circular Queue | | array |

| Heap Sort | | sorting |

| Ugly Numbers | | dynamic-programming |

| Dynamic Programming Basics | | dynamic-programming |

| Dijkstra Algorithm | | algorithm |

| Coin Change Problem | | dynamic-programming |

| Multiplication of two matrices | | matrix |

| Subtraction of two matrices | | matrix |

| Check if two given matrices are identical | | matrix |

| Addition of Matrices | | matrix |

| Transpose of a Matrix | | matrix |

| Check whether strings are k distance apart or not | | string |

| Program to toggle all characters in a string | | string |

| Check length of a string is equal to the number appended at its last | | string |

| Generate all binary strings without consecutive 1’s | | string |

| Check if all rows of a matrix are circular rotations of each other | | string |

| Sort a string according to another string | | string |

| Check if string can become empty by recursively deleting given sub-string | | string |

| Smallest palindrome after replacement | | string |

| Check if string follows order of characters by a pattern or not | | string |

| split-four-distinct-strings | | string |

| Even sub-string count | | string |

| Reverse string without temporary variable | | string |

| Recursive Palindrome check | | string |

| Minimum number of characters to be removed to make a binary string alternate | | string |

| Print all palindromic partitions of a string | | string |

| Count of character pairs at same distance as in english alphabets | | string |

| Minimum characters to be added at front to make string palindrome | | string |

| Convert a string that is repetition of a substring of length k | | string |

| Nth character in Concatenated Decimal string | | string |

| Kth Non-repeating character | | string |

| Compare two version numbers | | string |

| Remove minimum characters so that two strings become anagrams | | string |

| Generate all binary strings from given pattern | | string |

| Print all possible ways to break a string in bracket form | | string |

| Caesar Cipher | | string |

| Longest common subsequence withpermutations | | string |

| Perfect reversible string | | string |

| Longest palindrome can be formed by removing or rearranging characters | | string |

| Longest common prefix (word by word) | | string |

| Longest common prefix (Character by character) | | string |

| Permutations (STL) | | string |

| Calculate sum of all numbers present in a string | | string |

| Longest Common Prefix (Using Divide and Conquer) | | string |

| Lower Case To Upper Case | | string |

| Longest Common Prefix (Using Biary Search) | | string |

| Print shortest path to print a string on screen | | string |

| Remove Extra Spaces from a string | | string |

| Change gender of a given string | | string |

| Count number of substrings with k distinct characaters | | string |

| Removing spaces from a string using stringstream | | string |

| PANGRAM CHECK | | string |

| Repeated subsequence of length 2 or more | | string |

| Palindrome permutations of a string | | string |

| Split a string | | string |

| 1`s and 2`s complement of binary number | | string |

| Longest Common Extension | | string |

| Convert string1 to string2 in one edit | | string |

| Find First non-repeating character in a string | | string |

| Remove recurring digits in a given number | | string |

| Recursively print all the sentences that can be formed from list of word lists | | string |

| Online algorithm for checking palindrome in a stream | | string |

| Check if two given strings are isomorphic to each other | | string |

| Length of longest valid substring | | string |

| Program to add two binary digits | | string |

| Recursive Implementation of atoi() | | string |

| Reverse a string without affecting special characters | | string |

| Recursive function to do substring search | | string |

| Print Longest common subsequence | | string |

| Rotate string to get lexicographically minimum string | | string |

| Number of sub-strings which recursively add up to 9 | | string |

| Palindrome string (number) | | string |

| Print all possible words from phone digits | | string |

| Shortest Superstring Problem | | string |

| Transform one string to another using minimum number of given operations | | string |

| Print string of odd length in ‘X’ format | | string |

| Minimum insertions to form a shortest palindrome | | string |

| print all palindromic partitions | | string |

| Check rearranged string can form a palindrome | | string |

| Palindromes in a given range | | string |

| String(represents an integer) to value | | string |

| Count the number of words | | string |

| Print all anagrams together in a sequence of words | | string |

| Lexicographic rank of string | | string |

| Remove spaces from a string | | string |

| Find, second, frequent, character | | string |

| Find the second most frequent character | | string |

| Check if a given string is a rotation of a palindrome | | string |

| Sort an array of strings | | string |

| Recursively remove all adjacent duplicates | | string |

| Remove ‘b’ and ‘ac’ from a given string | | string |

| wildcard character matching | | string |

| Longest Palindromic Substring | | string |

| Given string is interleaving of two other strings or not | | string |

| Print all permutations with repetition | | string |

| Run length encoding | | string |

| List items containing all characters of a given word | | string |

| Write a program to print all permutations of a given string | | string |

| Check whether two strings are anagram of each other | | string |

| Print all interleavings of given two strings | | string |

| Print all duplicates in the input string | | string |

| A Program to check if strings are rotations of each other or not | | string |

| Given a string find its first non-repeating character | | string |

| Reverse words in a given string | | string |

| Find the smallest window in a string containing all characters of another string | | string |

| Divide a string in N equal parts | | string |

| Print Reverse of a string (Recursion) | | string |

| Remove characters from first string which are in second | | string |

| Sorting the array of strings | | string |

| Remove duplicates from a string | | string |

| Concatenation of two strings | | string |

| Reverse a String | | string |

| Most repeating character in a string | | string |

| Given a sorted array and a number x, find the pair in array whose sum is closest to x | | array |

| Find the subarray whose sum is equal to a given number X | | array |

| Basic SQL Interview Questions | | sql-interview-questions |

| Aggregate Functions in SQL | | sql-interview-questions |

| DB Locks in SQL | | sql-interview-questions |

| Indexes in SQL Interview Questions | | sql-interview-questions |

| Joins in SQL Interview Questions | | sql-interview-questions |

| Keys in SQL | | sql-interview-questions |

| Optimization in SQL | | sql-interview-questions |

| Oracle in SQL | | sql-interview-questions |

| Parameterized Query in SQL | | sql-interview-questions |

| Privileges and Roles in SQL | | sql-interview-questions |

| SQL Query Interview Questions | | sql-interview-questions |

| SQL Server Interview Questions | | sql-interview-questions |

| Arrange Even and Odd number such that Odd comes after Even | | array |

| Minimum number of Merge Operations to make an Array Palindrome | | array |

| Form minimum number from given sequence of D’s and I’s | | array |

| Longest span with same sum in two binary arrays | | array |

| Find the Subarray of given length with Least Average | | array |

| Find Zeros to be Flipped so that number of Consecutive 1’s is maximized | | array |

| Merge K Sorted Arrays and Print Sorted Output | | array |

| Find the minimum element in a sorted and rotated array | | array |

| Find the point where a monotonically increasing function becomes positive first time | | array |

| Print all possible combinations of r elements in a given array of size n | | array |

| Sort Elements by frequency | | array |

| Stock Buy Sell to Maximize Profit | | array |

| Merge Overlapping Intervals | | array |

| Maximum Subarray Sum using Divide and Conquer | | array |

| Pancake sorting Problem | | array |

| Pancake sorting | | array |

| Arrange given numbers to form the biggest number | | array |

| Iterative Implementation of quick sort | | array |

| Shuffle a given array | | array |

| Find the row with maximum number of 1’s | | array |

| Sorting a k sorted array | | array |

| Maximum product subarray | | array |

| Largest subarray with equal number of 0’s and 1’s | | array |

| Find the two numbers with odd occurrences in an unsorted array | | array |

| Maximum sum increasing subsequence | | array |

| Implement two stacks in an array | | array |

| Number of smaller elements on right side | | array |

| Increasing subsequence of length three with maximum product | | array |

| Elements appear more than n/k times in array | | array |

| Find the Peak element from an array | | array |

| Rearrange positive and negative numbers alternatively in Array | | array |

| Find the maximum repeating number in array | | array |

| Tug of War | | array |

| First Circular Tour to Visit all the Petrol Bunks | | array |

| Count Possible Triangles | | array |

| Maximum Circular Subarray Sum | | array |

| Four Elements that Sum to Given | | array |

| Maximum Length of Chain Pairs | | array |

| Find Pair with Given Difference | | array |

| Partition Problem | | array |

| The Celebrity Problem | | array |

| Find a Sorted Subsequence of size 3 | | array |

| Subarray with Given Sum | | array |

| Maximum Element in an Array which is Increasing and then Decreasing | | array |

| Count Minimum Steps to Get the given Array | | array |

| Find the Lost Element From a Duplicated Array | | array |

| Rearrange given Array in Maximum Minimum Form | | array |

| Subarray and Subsequence | | array |

| Merge Two Sorted Arrays | | array |

| Count of Triplets With Sum Less than Given Value | | array |

| Reorder Array Using Given Indexes | | array |

| Next Greater Element in an Array | | array |

| Merging Two Sorted Arrays | | array |

| Reorder an Array According to the Given Indexes | | array |

| Find a Fixed Point in a Given Array | | array |

| Find Element Using Binary Search in Sorted Array | | array |

| Find Triplet in Array With a Given Sum | | array |

| Check if the Elements of an Array are Consecutive | | array |

| Find Duplicates in an Array in Most Efficient Way | | array |

| Sort 0s 1s and 2s in an Array | | array |

| Find Leaders in an Array | | array |

| Smallest Positive Number Missing in an Unsorted Array | | array |

| Find K Length Subarray of Maximum Average | | array |

| Find Pythagorean Triplets from Array | | array |

| Move All the Zeros to the End of the Given Array | | array |

| Find Minimum Distance Between Two Numbers in an Array | | array |

| Rotate Image by 90 degrees | | array |

| Count Number of Occurrences in a Sorted Array | | array |

| Maximum Sum of Non Consecutive Elements | | array |

| Find Smallest Missing Number in a Sorted Array | | array |

| First Repeating Element | | array |

| Multiplication of Previous and Next | | array |

| A Product Array Puzzle | | array |

| Find All Pairs With a Given Difference | | array |

| Find all Common Elements in Given Three Sorted Arrays | | array |

| Find the first Repeating Number in a Given Array | | array |

| Print All Distinct Elements of the Array | | array |

| Maximum difference between two elements such as larger element comes after smaller | | array |

| Majority Element | | array |

| Find the First and Second Smallest Elements | | array |

| Find the Number Occurring Odd Number of Times in an Array | | array |

| Sort Elements by Frequency of Occurrences | | array |

| Find the Missing Number | | array |

| Find Nearest Greater and Smaller Element | | array |

| Insert Node in the Sorted Linked List | | linked-list |

| Detect a loop in the Linked List | | linked-list |

| Find Nth Node | | linked-list |

| Swap kth node from beginning with kth node from end | | linked-list |

| Swap nodes in the linked list | | linked-list |

| Delete last occurrence | | linked-list |

| Check if a linked list of strings form a palindrome | | linked-list |

| Merge two sorted linked lists such that merged list is in reverse order | | linked-list |

| Rearrange a given linked list in-place | | linked-list |

| Clone a Linked List with next and random pointer | | linked-list |

| Construct a Maximum Sum Linked List out of two Sorted Linked Lists having some Common nodes | | linked-list |

| Quick Sort on SIngly Linked List | | linked-list |

| Flatten a multilevel linked list | | linked-list |

| Rotate a Linked List | | linked-list |

| Union and Intersection of Two Linked Lists | | linked-list |

| Sort linked which is sorted on absolute values | | linked-list |

| Binary Tree to Doubly linked list | | linked-list |

| Rearrange a linked list in Zig-Zag | | linked-list |

| Clone a linked list with next and random pointer (Hashing) | | linked-list |

| Flattening a linked list | | linked-list |

| Segregate even and odd nodes in a linked list | | linked-list |

| Delete a node of a linked list at given position | | linked-list |

| Compare two strings(linked lists) | | linked-list |

| Merge sort better than quick sort for linked lists | | linked-list |

| Sort a linked list that is sorted alternating ascending and descending | | linked-list |

| Remove middle points in a linked list of line segments | | linked-list |

| Can we reverse a linked list in less than O(n) time ? | | linked-list |

| Merge a linked list into another at alternate positions | | linked-list |

| Delete N nodes after M | | linked-list |

| Sort a linked list with 0s, 1s and 2s | | linked-list |

| Triplet from three linked lists with given sum | | linked-list |

| Delete a node under given conditions | | linked-list |

| Reverse a Linked List in groups | | linked-list |

| Reverse a singly linked list recursively | | linked-list |

| Reverse a Singly Linked List (Iterative/Non-Recursive) | | linked-list |

| Remove all duplicates in an unsorted linked list | | linked-list |

| Remove all duplicates in a sorted linked list | | linked-list |

| Check if the linked list is palindrome | | linked-list |

| Find the occurrences of a number in a linked list | | linked-list |

| Find nth node of the Linked list from the end | | linked-list |

| Find middle of the Linked List | | linked-list |

| Insert nodes in a linked list in a sorted way (Ascending Order) | | linked-list |

| Check if two linked lists are identical | | linked-list |

| Move last element of the Linked List at first place | | linked-list |

| Delete a node in doubly linked list | | linked-list |

| How to Delete a Linked List | | linked-list |

| Split linked list using alternate nodes | | linked-list |

| Create a Doubly Linked List | | linked-list |

| Delete a Tree | | tree |

| Binary Tree | | tree |

| Searching a node in a Binary Search Tree | | tree |

| Binary Tree Level order traversal in Java | | tree |

| Java program to find the number of Nodes in a Binary Tree | | tree |

| Largest Sum Contiguous Subarray | | array |

| Reverse an Array | | array |

| Find a Triplet That Sum to a Given Value | | array |

| Find elements pair from array whose sum equal to number | | array |