/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * pick candy * @param arr int整型一维数组 the array * @return int整型 */ function candy( arr ) { // write code here let len = arr.length; if(len<=1)return 1 let left = 0; let right = len-1; let dp = Array.from({length:len},()=>1); //左右遍历一次,即可 for(let i = left+1;i<len;i++){ if(arr[i]>arr[i-1]){ dp[i] = dp[i-1]+1 } } for(let i=right-1;i>=0;i--){ if(arr[i]>arr[i+1]){ dp[i] = Math.max(dp[i],dp[i+1]+1) } } return dp.reduce((a,b)=>a+b) } module.exports = { candy : candy };