Largest Sum Contiguous Subarray

Problem Statement You are given an array of integers. The problem statement asks to find out the largest sum contiguous subarray. This means nothing but to find a subarray (continuous elements) which has the largest sum among all other subarrays in the given array. Example arr[] = {1, -3, 4, …

Read moreLargest Sum Contiguous Subarray

Decode Ways

In Decode Ways problem we have given a non-empty string containing only digits, determine the total number of ways to decode it using the following mapping: ‘A’ -> 1 ‘B’ -> 2 … ‘Z’ -> 26 Example S = “123” Number of ways to decode this string is 3 If we …

Read moreDecode Ways

Queue using Stacks

In queue using a stack problem, we have to implement the following functions of a queue using the standard functions of stack data structure, Enqueue: Add an element to the end of the queue Dequeue: Remove an element from the start of the queue Example Input: Enqueue(5) Enqueue(11) Enqueue(39) Dequeue()  …

Read moreQueue using Stacks

Next Permutation

In the next permutation problem we have given a word, find the lexicographically greater_permutation of it. Example input : str = “tutorialcup” output : tutorialpcu input : str = “nmhdgfecba” output : nmheabcdfg input : str = “algorithms” output : algorithsm input : str = “spoonfeed” output : Next Permutation …

Read moreNext Permutation

Longest Common Subsequence

You are given two strings str1 and str2, find out the length of the longest common subsequence. Subsequence: a subsequence is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements. For ex ‘tticp‘ is the subsequence …

Read moreLongest Common Subsequence

Topological Sorting

Given a directed acyclic graph, topologically sort the graph nodes. Topological Sorting Example Topological sorting of above graph is -> {1,2,3,0,5,4} Theory Topological Sorting is done for a Directed Acyclic Graph (DAG). A DAG has no cycles in it. ie, there is no such path starting from any node of …

Read moreTopological Sorting

Dijkstra Algorithm

Dijkstra is the shortest path algorithm. Dijkstra algorithm is used to find the shortest distance of all nodes from the given start node. It logically creates the shortest path tree from a single source node, by keep adding the nodes greedily such that at every point each node in the …

Read moreDijkstra Algorithm