How To Approach Leetcode Hard Problems Solving