参考:https://blog.nowcoder.net/n/6356dfe5f59e4442a2a6033858d736c8

好妙

class Solution {
public:
    /**
     * pick candy
     * @param arr int整型vector the array
     * @return int整型
     */
    int candy(vector<int>& arr) {
        // write code here
        int n = arr.size();
        vector<int> res(n, 1);
        int sum = 0;
        
        for(int i=1; i<n; i++){
            if(arr[i] > arr[i-1]){
                res[i] = res[i-1]+1;
            }
        }
        
        for(int i=n-2; i>=0; i--){
            if(arr[i] > arr[i+1]){
                res[i] = max(res[i], res[i+1]+1);
            }
        }
        
        for(int i=0; i<n; i++){
            sum += res[i];
        }
        
        return sum;
    }
};