problems from www.leetcode.com