https://medium.com/@KeyurRamoliya/python-sliding-window-technique-for-efficient-subarray-or-substring-operations-304fb18c1656