Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 大小的所有子区中最大元素的总和>;1从数组中的每个元素开始_Arrays - Fatal编程技术网

Arrays 大小的所有子区中最大元素的总和>;1从数组中的每个元素开始

Arrays 大小的所有子区中最大元素的总和>;1从数组中的每个元素开始,arrays,Arrays,给我们一个数组,要求我们从数组的每个元素开始,找出大小>1的每个子数组的最大元素之和。例如,如果数组为[1,2,3,4],则结果应为[9,7,4,0]。我们只需要找到大小>1的每个子数组的最大元素。所以对于1,它是max(1,2)+max(1,2,3)+max(1,2,3,4),也就是9。给定的数组不需要排序。如何解决这个问题。提前谢谢 创建一个结果数组。对输入数组进行排序,然后一次向后迭代2个元素,每次迭代将两个元素的总和追加到结果数组中。这是解决这个问题的最快方法。我不会给你写确切的答案,但

给我们一个数组,要求我们从数组的每个元素开始,找出大小>1的每个子数组的最大元素之和。例如,如果数组为[1,2,3,4],则结果应为[9,7,4,0]。我们只需要找到大小>1的每个子数组的最大元素。所以对于1,它是max(1,2)+max(1,2,3)+max(1,2,3,4),也就是9。给定的数组不需要排序。如何解决这个问题。提前谢谢

创建一个结果数组。对输入数组进行排序,然后一次向后迭代2个元素,每次迭代将两个元素的总和追加到结果数组中。这是解决这个问题的最快方法。我不会给你写确切的答案,但这应该足以帮助你。

例如,如果给定的输入数组是2,1,6,4,那么答案是[2+6+6,6+6,6,0],也就是[14,12,6,0]。但是如果我们对这个数组进行排序,它将变成1,2,4,6,根据你的方法,它将给出结果[max(1,2)+10,max(2,4)+6,6,0]。也就是[12,10,6,0];