H***e 发帖数: 476 | 1 他给的算法是:
maxsofar = 0;
maxendinghere = 0;
for i = 0: n-1
maxendinghere = max(maxendinghere + x[i], 0)
maxsofar = max(maxsofar, maxendinghere)
end
这个如果全部都是负数(-5 -1 -2 -4 -3),算出来的是0,which is not true; 应该是
-1
我觉得应该改下:
maxsofar = -INF;
maxendinghere = -INF;
for i = 0: n-1
maxendinghere = max(maxendinghere + x[i], x[i])
maxsofar = max(maxsofar, maxendinghere)
end
am i missing something?
谢谢 | v***a 发帖数: 365 | | d********t 发帖数: 9628 | 3 我也这么觉得。
【在 H***e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 他给的算法是: : maxsofar = 0; : maxendinghere = 0; : for i = 0: n-1 : maxendinghere = max(maxendinghere + x[i], 0) : maxsofar = max(maxsofar, maxendinghere) : end : 这个如果全部都是负数(-5 -1 -2 -4 -3),算出来的是0,which is not true; 应该是 : -1 : 我觉得应该改下:
| k***t 发帖数: 276 | 4 8.1提到所有输入是负数时,定义和为零的空向量为最大向量。
练习8.7.9 让读者自己计算最大向量定义为最大负元素的情况。
【在 H***e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 他给的算法是: : maxsofar = 0; : maxendinghere = 0; : for i = 0: n-1 : maxendinghere = max(maxendinghere + x[i], 0) : maxsofar = max(maxsofar, maxendinghere) : end : 这个如果全部都是负数(-5 -1 -2 -4 -3),算出来的是0,which is not true; 应该是 : -1 : 我觉得应该改下:
| H***e 发帖数: 476 | 5 嗯。是的
赞 看的好仔细!
【在 k***t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 8.1提到所有输入是负数时,定义和为零的空向量为最大向量。 : 练习8.7.9 让读者自己计算最大向量定义为最大负元素的情况。
|
|