Leetcode 76. Minimum Window Substring. Hard