对于线性数组,寻找连续编号的最大和的问题。简单。使用Kadane 的算法可以轻松完成。. 但是现在数组是圆形的,我们需要找到连续数的最大和。因此 startindex 和 endindex 可以在数组中的任何位置。我没有得到如何及时解决它O(n)
。
例如:{ 8, 9, -14, 4, 3}
。
最大子sum= 4+3+8+9= 24. startindex=3 and endindex=1
数组(零索引数组)。请给我一些关于如何解决这个问题的提示或算法。无需代码。
编辑:正如大家提到的,圆形数组类似于跨越两次的相同数组。但是如何在该数组上应用 Kadane 的算法并限制连续编号。到 <=n