Skip to content

Instantly share code, notes, and snippets.

View hrishikesh-mishra's full-sized avatar

Hrishikesh Mishra hrishikesh-mishra

View GitHub Profile
@hrishikesh-mishra
hrishikesh-mishra / QuickSortUsingTailRecursion.java
Created April 15, 2017 15:42
Quick Sort Using Tail Recursion
package com.hrishikesh.practices.sort;
import java.util.Arrays;
/**
* Problem:
* Quick Sort Using Tail Recursion
*
* @author hrishikesh.mishra
*/
@hrishikesh-mishra
hrishikesh-mishra / InversionsCountInArray.java
Created April 15, 2017 15:39
Inversion Count for an array indicates.java
package com.hrishikesh.practices.sort;
import java.util.Arrays;
import static com.hrishikesh.practices.sort.InversionsCountInArray.getCountByMergeSort;
/**
* Problem:
* Inversion Count for an array indicates –
* how far (or close) the array is from being sorted.
package com.hrishikesh.practices.sort;
import java.util.Arrays;
/**
* Problem:
* Counting Sort
* ;
* Counting Sorting assumes that for each of the n input elements is an integer in the range 0 to k, for some integer k.
* When k=O(n) the sort runs in Θ(n) time.
package com.hrishikesh.practices.dynamicprogramming;
import java.util.Arrays;
import static com.hrishikesh.practices.dynamicprogramming.RangeMaximumQuery.buildDPTable;
/**
* Problem
* Range Maximum Query
*
@hrishikesh-mishra
hrishikesh-mishra / MinimumCostPathFinder.java
Created April 15, 2017 15:30
Minimum Cost Path Finder
package com.hrishikesh.practices.dynamicprogramming;
/**
* Problem:
* Minimum Cost Path Finder
* Given a 2D matrix where each cell has a cost to travel.
* Find a path from left-top corner to bottom-right corner with minimum travel cost.
* Constraint: You can move only right or down.
*
* @author hrishikesh.mishra
@hrishikesh-mishra
hrishikesh-mishra / BinomialCoefficients.java
Created April 15, 2017 15:26
Compute Binomial Coefficients for m and n
package com.hrishikesh.practices.dynamicprogramming;
import static com.hrishikesh.practices.dynamicprogramming.BinomialCoefficients.getBinomialCoefficient;
/**
* Problem :
* Compute Binomial Coefficients for m and n
* (n k) = n!/((n−k)!k!)
* Formula :
* (n k) = (n-1 k-1) + (n-1, k)
@hrishikesh-mishra
hrishikesh-mishra / MaxSubArraySum.java
Created April 15, 2017 15:24
Maximum sub-array sum
package com.hrishikesh.practices.dividenconquer;
import java.util.Arrays;
import static com.hrishikesh.practices.dividenconquer.MaxSubArraySum.findMaximumSubArray;
/**
* Problme:
* Maximum sub-array sum :
* Given a array find maximum sub-array sum.
@hrishikesh-mishra
hrishikesh-mishra / BinaryTreeVerticalSumUsingDLL.java
Created April 15, 2017 15:19
Binary Tree vertical sum using doubly linked list (DLL)
package com.hrishikesh.practices.binarytree;
import java.util.Objects;
/**
* Problem:
* Binary Tree vertical sum using doubly linked list (DLL)
* ;
* Hint : Solution is based on horizontal distances
@hrishikesh-mishra
hrishikesh-mishra / BinaryTreeTopViewWithoutHashMap.java
Created April 15, 2017 15:17
Binary Tree top view without HashMap but using DLL
package com.hrishikesh.practices.binarytree;
import java.util.Objects;
/**
* Problem:
* Binary Tree top view without HashMap but using DLL
*
* @author hrishikesh.mishra
*/
@hrishikesh-mishra
hrishikesh-mishra / BinaryTreeSumFromRootToLeaf.java
Created April 15, 2017 15:13
Check is Sum from Root To Leaf exist or not in Binary Tree
package com.hrishikesh.practices.binarytree;
import java.util.Objects;
/**
* Problem:
* Check is Sum from Root To Leaf exist or not in Binary Tree
*
* @author hrishikesh.mishra
*/