首页 > 解决方案 > 最大连续子数组和

问题描述

所以,我刚刚进行了一次在线编程评估,其中给了我 2 个问题,其中一个是这个连续的子数组和提供了 2 个复杂的编码问题 + 8 个 mcqs,并且将在 1 小时内完成。

在这里,我将讨论上述子数组的最大连续和之一。通常我发现的困难部分是处理负数并且是连续的。我所做的是我首先将 a 应用于Collection.sort(arr)给定的数组,然后我再次按它们的绝对值对负值进行排序for i.. arr.get(i)! =abs(arr.get(i)) for j.. if arr.get(i)>arr.get(j) then swap so final array is -1, -2, 3,4,5,例如对于给定的随机数数组,我在每个 i 和所有 j 迭代之后保持一个最大值if max<sum(i.e. sum+arr.get(allj)+arr(particular i) then max=sum。所以这给了我最大的总和,但是我在 14 个案例中通过了 4 个案例,我认为排序数组的原因并不总是连续的,所以任何建议,以便我如何在其中灌输这种连续的逻辑以使其适用于所有人案例。

标签: javaarraysalgorithm

解决方案


我认为您将连续子数组问题误认为是子集问题,而是因为您不应该在逻辑中使用排序。您可以参考这里处理负数的问题。https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/


推荐阅读