This question evaluates algorithm design and string-processing skills, focusing on mapping words to syllable counts and identifying contiguous subsequences under an O(N) time constraint.
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.