## Find number of subarrays with given sum (Non-negative numbers) [Sliding window]

Given an array of non-negative integers arr and an integer k, return the total number of continuous subarrays whose sum equals to k.

## Find maximum sum of contiguous subarray of size k [Sliding Window]

You’re given an array of size N. You’ve to find the maximum sum obtained from a contiguous subarray of size k of the given array, where k <= N.

## Subset with a given sum and number of subsets

You are given an array of non-negative integers, you have to find the number of subsets having sum equal to the given sum. Subset needs not to be contiguous.

## Tower of Babylon Solution – SPOJ.com

Given n different types of blocks. Each one of them may be duplicated as many times as you like. Each type has a height y, a width x and a depth z.

## Matrix-chain multiplication

We are given a sequence (chain) (M1, M2, M3…Mn) of n matrices to be multiplied and we need to find the most efficient way to multiply these matrices together.

## Longest Common Subsequence Solution

The longest common subsequence (LCS) problem is the problem of finding the longest subsequence common to given two sequences. LCS problem is used to determine how similar the two DNA strands are.

## Longest Increasing Subsequence Solution (LIS) – LeetCode Solution [Medium]

Given an integer array arr, return the length of the longest strictly increasing subsequence. Strictly increasing sequence is a sequence such that all elements of the sequence are sorted in increasing order.

## Find the Maximum Subarray and its Sum [Kadane’s Algorithm]

Find the maximum subarray and its sum is a problem of finding contiguous subarray with largest sum in an array of integers.

## Strassen’s Algorithm for Matrix multiplication

Strassen’s Algorithm for Matrix multiplication is a recursive algorithm for multiplying n x n matrices. Strassen’s algorithm is based on a familiar design technique – Divide & Conquer.

## Binary Search Tree in C/C++[2]

In the last post we learnt about Binary Search Trees and basic operations like insert and search on them. In this post we’ll learn about some complex operations on them.