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

首頁 > 編程 > PHP > 正文

直接任意球和間接任意球的區別 PHP 求任意n個正負整數里面最大的連續和

2020-03-24 18:12:15
字體:
來源:轉載
供稿:網友
案例描述:

編寫一個html' target='_blank'>PHP函數。求任意n個正負整數里面最大的連續和,要求算法時間復雜度盡可能低;

例如:echo getMaxSum(array(-2,1,3,9,-4,2,3,5,-3,-4,1,3));//最大連續和是(1,3,9,-4,2,3,5)相加函數返回19

代碼如下:

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


效果如下:

Array(    [0] => -2    [1] => 1    [2] => 3    [3] => 9    [4] => -4    [5] => 2    [6] => 3    [7] => 5    [8] => -3    [9] => -4    [10] => 1    [11] => 3)最大子序列是:1 3 9 -4 2 3 5 
最大子序列的和是19

這樣就完成了案例的要求,思路很重要!

以上就介紹了直接任意球和間接任意球的區別 PHP 求任意n個正負整數里面最大的連續和,包括了直接任意球和間接任意球的區別方面的內容,希望對PHP教程有興趣的朋友有所幫助。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉源县| 宜州市| 安新县| 清水县| 尼木县| 井研县| 东海县| 临潭县| 稻城县| 绥德县| 家居| 绥棱县| 团风县| 达尔| 泸水县| 江口县| 修文县| 阜城县| 扎囊县| 永州市| 横峰县| 怀柔区| 石棉县| 临沭县| 平乡县| 岑溪市| 海南省| 家居| 乌恰县| 错那县| 罗定市| 长宁县| 桐梓县| 孝昌县| 长白| 四子王旗| 永德县| 准格尔旗| 滕州市| 黄石市| 灵璧县|