我正在尝试用 JavaScript 编写一个有效的算法来解决这个任务。请参阅以下输入数据和正确结果的示例:
Array: [ [-3,-4], [1,2,-3] ] Result: (-4)*(-3) = 12
Array: [ [1,-1], [2,3], [10,-100,20] ] Result: (-1)*3*(-100) = 300
Array: [ [-3,-15], [-3,-7], [-5,1,-2,-7] ] Result: (-15)*(-7)*1 = 105
Run Code Online (Sandbox Code Playgroud)
它可以是任意数量的子数组和每个子数组中任意数量的元素。我已经发现,我可能应该只在每个子数组中留下最小值和最大值,我.map(a => [Math.min(...a), Math.max(...a)])使用.sort((a, b) => a[0] - b[0]).
现在我被困住了。可能有一种方法可以计算所有可能的产品,但我确信这不是解决此任务的有效方法。
请帮忙!