Objective: – Given “n”, generate all valid parenthesis strings of length “2n”.
Example:
Given n=2 Output: (()) ()()
Approach:
Read morePrint All Possible Valid Combinations Of Parenthesis of Given ‘N’
Objective: Given a number, find out whether its colorful or not. Colorful Number: When in a given number, product of every digit of a sub-sequence are different. That number is called Colorful Number. See Example Example: Given Number : 3245 Output : Colorful Number 3245 can be broken into parts like 3 2 4 5 … Read more Colorful Numbers
Objective: Given a set of numbers, print all the posssible subsets of it including empty set. Power Set: In mathematics, PowerSet of any given set S, PS(S) is set of all subsets of S including empty set. Example: S ={1,2,3} PS(S): {{ᵩ}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}. Approach: … Read more Print All the Subsets of a Given Set (Power Set)
Objective: – Given “n”, generate all valid parenthesis strings of length “2n”.
Example:
Given n=2 Output: (()) ()()
Approach:
Read morePrint All Possible Valid Combinations Of Parenthesis of Given ‘N’
Objective: We know that Queue is FIFO (First-in-First-Out) and Stack is LIFO ( Last-in-First-Out). Here our objective is to implement queue using stacks. Approach: Take 2 Stacks, stack1 and stack2. stack1 will be used a back of the Queue and stack2 will be used as front of the Queue. Push() operation will be done on … Read more Implement Queue Using Stacks
Objective: Given a Linked List, Sort it using merge sort. Example: ->9->3->4->2->5->1 Sorted List: ->1->2->3->4->5->9 Approach: Reference : Merge Sort in array As it Merge sort, we apply the same logic , Divide and Conquer. Find the length of the link list, say it is L. mid will be L/2. Now we need to divide … Read more Merge Sort in a Linked list
Objective: – Given a inorder and level order traversal, construct a binary tree from that. Input: Inorder and level order traversal Approach: int[] inOrder = { 4, 2, 5, 1, 6, 3, 7 }; int[] levelOrder = { 1, 2, 3, 4, 5, 6, 7 }; First element in the levelorder [] will be the … Read more Construct a binary tree from given Inorder and Level Order Traversal
Objective: – Given a preorder traversal, construct BST from that, without using recursion. Input: Preorder traversal Similar Problem : This problem is similar to the Construct Binary Search Tree from a given Preorder Traversal using Recursion. Approach: Example: int[] preOrder = { 20, 10, 5, 1, 7, 15, 30, 25, 35, 32, 40 }; Use … Read more Construct Binary Search Tree from a given Preorder Traversal Using Stack (Without Recursion)
Objective: – Given a preorder traversal, construct BST from that. Input: Preorder traversal Similar Problem : This problem is similar to the – Construct Binary Search Tree from a given Preorder Traversal Using Stack (Without Recursion) Approach: Solution to the problem is similar to isBST Max-Min Solution. “Your root value can have any value between … Read more Construct Binary Search Tree from a given Preorder Traversal using Recursion
Objective: Given an array arrA[], find the maximum j – i such that arr[j] > arr[i]. Example: int[] arrA = { 12, 3, 1, 5, 6, 4, 10, 9, 8, 0 }; Output: Max(j-i) where j>i and A[j]>A[i] is : 7 Approach: Create 2 Auxilary Arrays say Lmin[] and Rmax[] of the same size as … Read more Given an array arrA[], find the maximum j – i such that arr[j] > arr[i].
Objective: Given an array of size of N and number k. Find all elements in an Array which appears more than N/K times.
Input: Array [] and number k.
Example:
int[] arrA = { 2, 2, 4, 4, 3, 5, 3, 4, 4, 6, 4, 3, 3, 8 }; K = 4 N/k = 14/4 = 3 Output will be [3,4] they appear 5, 4 times respectively.
Approach:
Objective: – Given Binary Tree, Print All The Nodes Which are X distance from the Given Node.
Example :
Approach:
Quite Tricky solution, i will explain using the example given in the picture.
Read morePrint All The Nodes Which are X distance from the Given Node
Objective: – Given nodes in a binary tree, find the distance between them.
Example :
Approach:
Read moreFind the Distance between Two Nodes of a Binary Tree.
Objective: – Find the Lowest Common Ancestor of two given nodes in a Binary Tree
What is Lowest Common Ancestor
In a given binary tree, The lowest common ancestor of two nodes n1 and n2 will be a node X such that node X will be the lowest node who has n1 and n2 as its descendants.
Similar Problem: Lowest Common Ancestor in a Binary Search Tree.
Example:
Input: A binary Tree and two nodes n1 and n2.
Appraoch:
Read moreLowest Common Ancestor in a Binary Tree (Not Binary Search Tree).
Objective: – Find the Lowest Common Ancestor of two given nodes in a Binary Search Tree
What is Lowest Common Ancestor
In a given binary tree, The lowest common ancestor of two nodes n1 and n2 will be a node X such that node X will be the lowest node who has n1 and n2 as its descendants.
Similar Problem: Lowest Common Ancestor in a Binary Tree ( Not Binary Search Tree).
Example:
Input: A binary Search Tree and two nodes n1 and n2.
Appraoch:
Objective: – Given a inorder and preorder traversal, construct a binary tree from that.
Input: Inorder and preorder traversals
Similar Problem: Construct a binary tree from given Inorder and Postorder Traversal
Approach:
int [] inOrder = {2,5,6,10,12,14,15};
int [] preOrder = {10,5,2,6,14,12,15};
Read moreMake a Binary Tree from Given Inorder and Preorder Traveral.