refactoring, clean packages and grouped leetcode problems by type