FastPrepCandy Distribution

Candy Distribution

Accenture logoAccenture● MediumINTERNOA
Learn

Problem statement

There are n children standing in a line. The integer array ratings gives each child's rating.

Distribute candies subject to these rules:

  • Every child receives at least one candy.
  • A child with a higher rating than an adjacent child receives more candies than that neighbor.

Return the minimum total number of candies required.

Function

minimumCandies(ratings: int[]) → int

Examples

Example 1

ratings = [1,0,2]return = 5

A minimum valid distribution is [2,1,2].

Example 2

ratings = [1,2,2]return = 4

A minimum valid distribution is [1,2,1]. Equal ratings do not require equal candy counts.

Example 3

ratings = [1,3,4,5,2]return = 11

The increasing run and final drop require the minimum distribution [1,2,3,4,1].

Constraints

  • 1 <= ratings.length <= 2 * 10^4.
  • 0 <= ratings[i] <= 2 * 10^4.

More Accenture problems

See Accenture hiring insights
public int minimumCandies(int[] ratings) {
    // Write your code here.
}
ratings[1,0,2]
expected5
Checking account…