本文共 617 字,大约阅读时间需要 2 分钟。
题目:
分析:贪心算法 http://www.cnblogs.com/x1957/p/3371601.html
代码:
class Solution { public: int candy(vector &ratings) { int cap = ratings.size(); int *candy = new int[cap]; fill(candy, candy + cap, 0); int k = 1; for (int i = 1; i < cap; i++) { if (ratings[i] > ratings[i - 1]){ candy[i] = max(k++, candy[i]); } else { k = 1; } } k = 1; for (int i = cap - 2; i >= 0; i--) { if (ratings[i] > ratings[i + 1]){ candy[i] = max(k++, candy[i]); } else { k = 1; } } int ans = cap; for (int i = 0; i < cap; i++) ans += candy[i]; return ans; }};