ThoughtSpot receives customer requests that must be prepared during specified time intervals. Each chef can cook at most one request at a time. Given all request intervals, return the minimum number of chefs required so every request can be cooked within its interval.
Assume each interval represents the complete period during which one chef is occupied. Intervals use half-open notation [start, end), so a chef finishing at time t can immediately begin a request starting at time t.
Implement minimum_chefs(requests), where requests is a list of intervals. Each interval is a two-element list [start, end] containing integer timestamps. Return an integer representing the minimum number of chefs needed.
def minimum_chefs(requests):