/** * 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 }