//从左往右遍历一遍,存在left中
//从右往左遍历一遍,存在right中
//比较left[i]和right[i]中的值,取大的
var candy = function(nums) {
//全部赋值为1
let arr=new Array(nums.length).fill(1)
//从左往右
for(let i=1;i<nums.length;i++){
if(nums[i]>nums[i-1]){
arr[i]=arr[i-1]+1
}
}
//从右往左
for(let i=nums.length-2;i>=0;i--){
if(nums[i]>nums[i+1]){
//arr[i+1]+1是right的值
//arr[i]是left的值
arr[i]=Math.max(arr[i+1]+1,arr[i])
}
}
let count=arr.reduce((a,b)=>{
return a+b
})
return count
};
135. 分发糖果(JavaScript)
最新推荐文章于 2023-03-06 10:20:13 发布