array
greedy
amazon
google

There are n children standing in a line. Each child is assigned a rating value given in the integer array ratings.

You are giving candies to these children subjected to the following requirements:

  • Each child must have at least one candy.
  • Children with a higher rating get more candies than their neighbors.

Return the minimum number of candies you need to have to distribute the candies to the children.

Example 1:

Input: ratings = [1,0,2]
Output: 5
Explanation: Distribute [2,1,2] candies.

Example 2:

Input: ratings = [1,2,2]
Output: 4
Explanation: Distribute [1,2,1] candies.

Constraints:

  • n == ratings.length
  • 1 <= n <= 2 * 10^4
  • 0 <= ratings[i] <= 2 * 10^4
Run to check your code against the sample cases, or submit to run every case