System Design Problem Leetcode Solutions Java