左右扫一遍
class Solution { public: int candy(vector<int> &ratings) { int n = ratings.size(); int candy[n]; memset(candy,0,sizeof(candy)); int k = 1; for(int i = 1; i < n; i++){ if(ratings[i] > ratings[i-1]) candy[i] = k++; else k = 1; } k = 1; for(int i = n-2; i >= 0; i--){ if(ratings[i] > ratings[i+1]) candy[i] = max(k++,candy[i]); else k = 1; } int ans = n; for(int i = 0; i < n; i++) ans += candy[i]; return ans; } };