一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP求最大子序列和的算法實現

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

2019-12-01 12:21PHP教程網 PHP教程

給定整數:A1 A2 A3 A4 … An,其中可能有負數,求Ai-Aj的和的最大值。

代碼如下:


<?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; 
?> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品igao视频网网址 | 无码精品一区二区三区免费视频 | 99在线免费观看视频 | 亚洲精品一区二区三区在线看 | 亚洲精品一区二区三区中文字幕 | 国产永久免费爽视频在线 | 亚洲酒色1314狠狠做 | 爱情岛论坛亚洲品质自拍视频 | 天堂在线观看中文字幕 | 国产精品天天影视久久综合网 | 深夜福利影院在线观看 | 女人是男人的未来1分49分 | 欧美性野久久久久久久久 | 国产麻豆精品免费视频 | 国内精品视频一区二区三区 | 香蕉国产人午夜视频在线 | mm131亚洲 | 暖暖的韩国免费观看 | 国产精品资源站 | 日韩精品一区二区三区中文在线 | caoporn超碰最新地址进入 | 久久er国产免费精品 | cosplay 极品videos | 精品午夜久久福利大片免费 | 欧美夫妇野外交换hd高清版 | 波多在线| 99久久999久久久综合精品涩 | 日本国产成人精品视频 | 青青五月天 | 国产欧美日韩在线观看精品 | brazzers办公室 | 国产欧美日韩在线观看精品 | 青青草国产精品免费 | 小舞丝袜调教喷水沦为肉奴 | 精品久久成人免费第三区 | 深夜福利影院在线观看 | 99久久久久国产精品免费 | 啪啪链接 | 欧美成人三级伦在线观看 | 动漫a级片 | 日韩专区在线观看 |