https://medium.com/@abidshafee/mastering-the-sliding-window-technique-efficient-subarray-substring-problem-solving-516634b2350c