Find a unique peak in a strictly unimodal array by binary-searching adjacent slopes. Explain why unrestricted plateaus can force linear work and why duplicate handling depends on the precise input promise.
Find a Strictly Unimodal Array Peak and Analyze Plateaus
Company: Snapchat
Role: Machine Learning Engineer
Category: Coding & Algorithms
Difficulty: medium
Interview Round: Onsite
An array strictly increases up to a unique maximum and strictly decreases afterward. Return the index of that peak using binary search.
### Constraints and Clarifications
Use a nonempty array of comparable values. As a practice convention, either strictly monotone side may be empty, so the maximum may occur at an endpoint. No numerical bounds are reported. The base contract excludes equal adjacent values. The follow-up asks what changes when equal values are allowed; discuss the assumptions rather than claiming every duplicate-containing array forbids every binary-search method.
### What a Strong Answer Covers
Use the slope between adjacent middle elements to discard one side, prove the peak remains in the search interval, and explain why an equality can remove directional information under weaker assumptions.
### Follow-up Questions
- Can a weakly unimodal array with arbitrary plateaus guarantee logarithmic peak search?
- What extra restriction, such as a plateau only at the maximum, could permit a specialized search?
Overview: Find a unique peak in a strictly unimodal array by binary-searching adjacent slopes. Explain why unrestricted plateaus can force linear work and why duplicate handling depends on the precise input promise.
An array strictly increases up to a unique maximum and strictly decreases afterward. Return the index of that peak using binary search.
Constraints and Clarifications
Use a nonempty array of comparable values. As a practice convention, either strictly monotone side may be empty, so the maximum may occur at an endpoint. No numerical bounds are reported. The base contract excludes equal adjacent values. The follow-up asks what changes when equal values are allowed; discuss the assumptions rather than claiming every duplicate-containing array forbids every binary-search method.
What a Strong Answer Covers Guidance
Use the slope between adjacent middle elements to discard one side, prove the peak remains in the search interval, and explain why an equality can remove directional information under weaker assumptions.
Follow-up Questions Guidance
Can a weakly unimodal array with arbitrary plateaus guarantee logarithmic peak search?
What extra restriction, such as a plateau only at the maximum, could permit a specialized search?