/**
* pick candy
* @param arr int整型一维数组 the array
* @return int整型
*/
func candy( arr []int ) int {
// write code here
if len(arr) == 0{
return 0
}
candyV := make([]int, len(arr))
// 每个都可以得到一个糖果
for i:=0; i<len(candyV);i++{
candyV[i] = 1
}
// 从左向右
for i:=1; i< len(candyV); i++{
if arr[i] > arr[i-1] {
candyV[i] = candyV[i-1]+1
}
}
// 从右向左
for i:= len(candyV)-2; i>=0; i--{
if arr[i]> arr[i+1] {
candyV[i] = max(candyV[i+1]+1, candyV[i])
}
}
// 计算累计和
sum := 0
for _, x := range candyV {
sum +=x
}
return sum
}
func max(a, b int) int{
if a>b {return a}
return b
}