Minimum window substring: s="ADOBECODEBANC" t="ABC" =================================================== right=5 'C' window="ADOBEC" is VALID new best "ADOBEC" (length 6) drop 'A' -> window="DOBEC" no longer valid, missing=1 right=10 'A' window="DOBECODEBA" is VALID drop 'D' -> window="OBECODEBA" still valid drop 'O' -> window="BECODEBA" still valid drop 'B' -> window="ECODEBA" still valid drop 'E' -> window="CODEBA" still valid drop 'C' -> window="ODEBA" no longer valid, missing=1 right=12 'C' window="ODEBANC" is VALID drop 'O' -> window="DEBANC" still valid drop 'D' -> window="EBANC" still valid new best "EBANC" (length 5) drop 'E' -> window="BANC" still valid new best "BANC" (length 4) drop 'B' -> window="ANC" no longer valid, missing=1 answer = "BANC"