//Simple rules
//Sort the array
//Get no of buckets N = (length -1)
//Get gap between buckets GAP = (max -min/length-1)
//fill elements into buckets (i - min/ gap)
//Finally,get max by -->
// each bucket has max and min
// so min(i+1) -max(i) buckets
http://www.zrzahid.com/the-%E2%80%A9maximum%E2%80%A9-gap%E2%80%A9-problem-%E2%80%A9pigeonhole-%E2%80%A9principle%E2%80%A9/