第七十八天:力扣135题,分发糖果
地址:leetcode-cn.com/problems/ca…
思路:两次遍历,保证左右都是,只要大就大一位
var candy = function(ratings) {
const n = ratings.length;
let res = new Array(n).fill(1);
for(let i = 1; i < n; i++)
{
if(ratings[i] > ratings[i - 1])
{
res[i] = res[i - 1] + 1;
}
}
for(let i = n - 2; i >= 0; i--)
{
if(ratings[i] > ratings[i + 1])
{
if(res[i] <= res[i + 1])
{
res[i] = res[i + 1] + 1;
}
}
}
var sum =0;
res.forEach(function(value,index,array){
sum+=value;
});
return sum;
};
执行用时:96 ms, 在所有 JavaScript 提交中击败了72.20%的用户
内存消耗:41.3 MB, 在所有 JavaScript 提交中击败了90.24%的用户