Longest Well-Performing Interval

MediumArrays & Hashingprefix sum

Solve this the way you would in the interview: out loud, on a timer, with an AI interviewer asking follow-ups while you code. You get a scored report at the end.

Practice this as a mock interviewFree to start, no account needed

Problem

hours[i] is the number of hours an employee worked on day i. A day is *tiring* when the hours worked are strictly greater than 8. A contiguous block of days is *well-performing* if it contains strictly more tiring days than non-tiring days. Return the length of the longest well-performing block, or 0 if there is none.

Examples

Input: hours = [9,9,6,0,6,6,9]
Output: 3
The block `[9,9,6]` has two tiring days and one non-tiring day.
Input: hours = [6,6,6]
Output: 0
No day is tiring, so no block qualifies.

Constraints

  • 1 <= hours.length <= 10^4
  • 0 <= hours[i] <= 16

What the interviewer grades

A correct solution is one of five scores. The report also grades problem understanding (did you clarify inputs and edge cases before coding), problem solving, communication while you work, code quality, and testing. See a sample report, or read up on the pattern in the lessons.

More prefix sum problems