国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP求最大子序列和的算法實現

2024-05-04 23:18:07
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


<?php
//作者:遙遠的期待
//QQ:15624575
//算法分析:1、必須是整數序列、2、如果整個序列不全是負數,最大子序列的第一項必須是正數,否則最大子序列后面的數加起來再加上第一項的負數,其和肯定不是最大的;3、如果整個序列都是負數,那么最大子序列的和是0;
//全負數序列很簡單,不舉例
$arr=array(4,-3,5,-2,-1,2,6,-2);
function getmaxsum($arr){
$thissum=0;
$maxsum=0;
$start=0;//記錄子序列的起始下標
$end=0;//記錄子序列的結束下標
for($i=0;$i<count($arr);$i++){
$thissum+=$arr[$i];//取得當前子序列的和
if($thissum>$maxsum){//如果當前子序列的和大于當前最大子序列的和
$maxsum=$thissum;//改變當前最大子序列的和
$end=$i;
}else if($thissum<0){//如果當前子序列的和小于0,則把下一個元素值假定為最大子序列的第一項,這里可以保證最大自序列的第一項一定是正數
$thissum=0;//前提這個序列不全是負數
$start=$i+1;
}
}
$parr=array($start,$end,$maxsum);
return $parr;
}
list($start,$end,$maxsum)=getmaxsum($arr);
echo '最大子序列是:';
for($i=$start;$i<=$end;$i++){
echo $arr[$i].' ';
}
echo '<br>';
echo '最大子序列的和是'.$maxsum;
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沐川县| 沭阳县| 察哈| 自治县| 惠安县| 封开县| 万源市| 宝鸡市| 平定县| 宁国市| 辽阳市| 崇礼县| 神木县| 宁化县| 裕民县| 静宁县| 东辽县| 定西市| 淮北市| 蒙阴县| 随州市| 荣昌县| 封开县| 来凤县| 张家港市| 金乡县| 突泉县| 丽江市| 东兰县| 海安县| 灵川县| 尼玛县| 平度市| 台北市| 崇礼县| 额济纳旗| 和田市| 神木县| 上虞市| 娱乐| 东港市|