#include "s0135_candy.hpp" int S0135::candy(vector& ratings) { int len = ratings.size(); int result{0}; vector candy(len, 1); // 从前往后 for (int i{1}; i < len; ++i) { if (ratings[i] > ratings[i - 1]) candy[i] = candy[i - 1] + 1; } // 从后往前 for (int i = len - 2; i >= 0; --i) { if (ratings[i] > ratings[i + 1]) candy[i] = max(candy[i], candy[i + 1] + 1); // 顺便统计结果 result += candy[i + 1]; } return result + candy[0]; }