func candy(ratings []int) int {
length := len(ratings)
candyList := make([]int, length)
for idx, item := range ratings {
if idx > 0 && item > ratings[idx-1] {
candyList[idx] = candyList[idx-1] + 1
} else {
candyList[idx] = 1
}
}
last, count := 0, 0
for i := length - 1; i >= 0; i-- {
if i < length-1 && ratings[i] > ratings[i+1] {
last++
} else {
last = 1
}
if last > candyList[i] {
count += last
} else {
count += candyList[i]
}
}
return count
}