最大子阵列(BRUTE)

时间:2016-08-30 13:07:10

标签: arrays max clrs

我正在尝试实现最大子阵列问题的Brute方法(clrs 4.1-2),我认为我(非常容易)得到它:
PSEUDO-CODE:

BRUTE-MAX-SUB-ARR(A)

1. from = -1 , to = -1, TSUM = -infinity
2. for i=0 to A.length-2
3.  sum = 0
4.  for j=i to A.length-2
5.   sum = sum+ A[i]
6.    if (sum > TSUM)
7.     TSUM = sum
8.     from = i
9.     to = j
10.    return(from,to,TSUM)  

但问题出现的时候只返回一个元素(from = to),因此,我们应该考虑from = to的情况,但这要么排除有用的情况,要么包含多余的情况。

示例:
如果输入为1,-4,3,-4则会返回错误的答案(例如只有3作为第3个元素)。
任何赞赏的帮助。
月亮

编辑:1)天改为A.length
2)我想知道在from = to时我们如何处理这种情况,最大值为sum
3)0在伪代码的第5行更改为sum

0 个答案:

没有答案