Candy
HardArrayGreedy
Solution
export function candy(ratings: number[]): number {
const n = ratings.length;
const candies = new Array(n).fill(1);
for (let i = 1; i < n; i++) {
if (ratings[i - 1] < ratings[i]) {
candies[i] = Math.max(candies[i], candies[i - 1] + 1);
}
if (ratings[n - i] < ratings[n - i - 1]) {
candies[n - i - 1] = Math.max(candies[n - i - 1], candies[n - i] + 1);
}
}
return candies.reduce((prev, curr) => prev + curr, 0);
}