Single Pass can't work because it can't really look ahead.  Can I 
optimize the "find my left and right bounds" to reduce the scans of the
array?