function maximize(arr) { let index = 0 let l = 0 let r = 1 let result = [] for (let i = 0; i < arr.length && index < arr.length; i++) { let acc = arr[index] while (arr[index] < arr[r]) { acc += arr[r] r++ } while (arr[index] < arr[l]) { acc += arr[l] l-- } result[index] = acc index++ l = index - 1 r = index + 1 } return result } console.log(maximize([2, 1, 4])) // [ 2, 7, 4 ] console.log(maximize([2, 3, 6, 1, 4])) // [ 11, 9, 6, 16, 4 ]
1 1

相关推荐

04-25 19:29
已编辑
宁波大学 运营
被普调的六边形战士很高大:你我美牛孩
点赞 评论 收藏
分享
牛客网
牛客企业服务