具有其 k 个连续数字的最大可能和的函数

作为标题,任何人都可以帮我写一个函数,返回给定的正整数数组的一些k个连续数字(按顺序相互跟随的数字)的最大可能和。谢谢!

http://img1.mukewang.com/632d0da600016db203300082.jpg

http://img1.mukewang.com/632d0daf0001274503200090.jpg

http://img.mukewang.com/632d0db90001bfc104450477.jpg

我已经阅读了答案,但任何人都可以告诉我它是如何工作的?我只是不明白那些代码?


jeck猫
浏览 91回答 1
1回答

慕仙森

有几种方法可以做到这一点,你可以在传统的&nbsp;for,数学.max(),索引Of()和数组#reduce的帮助下做到这一点。首先,您需要找到输入数组的最大值,然后您应该弹出它并根据迭代计数,迭代以找到下一个最大值。然后,在找到所有最大值后,您最终需要将它们相加。function maxOfSumChain(arr, length) {&nbsp; const maxArr = [];&nbsp; for (let i = 0; i < length; i++) {&nbsp; &nbsp; const max = Math.max(...arr);&nbsp; &nbsp; maxArr.push(max);&nbsp; &nbsp; arr.splice(arr.indexOf(max), 1);&nbsp; }&nbsp; return maxArr.reduce((a, b) => a + b, 0);}console.log(maxOfSumChain([1, 3, 2, 6, 2], 3));console.log(maxOfSumChain([1, 3, 2], 2));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript