Find the smallest substring containing all characters of a target string by expanding and contracting a sliding window.