Given a sentence with mixed case and punctuation plus a syllable dictionary mapping each word to its syllable count, design an O(N)-time algorithm that returns the first contiguous 5-7-5 Haiku (three strings) or None if none exists. Explain your approach and its complexity.