php实现正负数数组最大子序列,2本文来源gaodaima#com搞(代@码$网6
搞gaodaima代码
要求给出数组,该数组由正负数字组成,找出该数组中连续元素组成的子数组的最大值。
这其实得算是个背包变种吧。
<?php<BR>$list = array(1,-3,-5,-7,8,9,-11,5);</P><P>$cur = 0;<BR>$term = 0;<BR>$res = 0;<BR>$begin = 0;</P><P>foreach($list as $k => $v){<BR> $cur += $v;<BR> if($cur < 0){<BR> $cur = 0;<BR> $begin = $k + 1;<BR> } <BR> if($cur > $res){<BR> $res = $cur;<BR> $term = $k;<BR> }<BR>}<BR>$max_seq = array_slice($list, $begin, ($term - $begin) + 1);</P><P>echo $res . ',';<BR>print_r($max_seq);<BR>//17,Array ( [0] => 8 [1] => 9 ) <BR>