参考: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;
}
};