https://www.hackerrank.com/domains/algorithms/arrays-and-sorting