gpt4 book ai didi

javascript - 如何使用迭代函数获得数组中的最大和?

转载 作者:行者123 更新时间:2023-12-03 03:46:10 25 4
gpt4 key购买 nike

大家好,我想用 javascript 和 es6 解决这个问题,问题是
如果我有一个像 [1,2,3,4] 这样的数组,那么我想检查每个概率,如下所示并返回最大的数字

1--> (1*2) + (3*4) = 14
2--> (1*3) + (2*4) = 11
3--> (1*4) + (2*3) = 10

那么最大的数字是 14 作为返回结果 ---> 我如何使用函数来做到这一点,并记住如果数组有 100 个数字,我如何动态地计算 99 个概率注意:也许数组没有排序,它可能是奇怪的,不仅是偶数,谢谢你

最佳答案

将最大的数相乘得到的总和比将大数与小数相乘然后将它们相加得到的和更大(比较给定周长,正方形是表面积最大的矩形)。因此只需计算 [0]*[1] + [2]*[3] + [4]*[5] + ...(假设数组长度是偶数):

const array = [4,2,1,3].sort();
let sum = 0;
for(let i = 1; i < array.length; i += 2)
sum += array[i - 1] * array[i];

编辑:对于从 1 开始的连续数字的计算,甚至不需要 JS,总和的闭合形式为 1/3 * (n - 1)(4*n² - 5*n) (n 是最大(偶数)数)。

关于javascript - 如何使用迭代函数获得数组中的最大和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45380740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com