https://medium.com/@marysantraitech_61226/coding-problems-for-technical-interview-part-2-3e7be43fefe2