最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實(shí)現(xiàn)求連續(xù)子數(shù)組最大和問題2種解決方法

 更新時(shí)間:2017年12月26日 14:47:42   作者:zoro_1992  
這篇文章主要介紹了PHP實(shí)現(xiàn)求連續(xù)子數(shù)組最大和問題2種解決方法,涉及php針對(duì)數(shù)組的遍歷、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP實(shí)現(xiàn)求連續(xù)子數(shù)組最大和問題2種解決方法。分享給大家供大家參考,具體如下:

問題描述

求子數(shù)組的最大和

題目描述:

輸入一個(gè)整形數(shù)組,數(shù)組里有正數(shù)也有負(fù)數(shù)。
數(shù)組中連續(xù)的一個(gè)或多個(gè)整數(shù)組成一個(gè)子數(shù)組,每個(gè)子數(shù)組都有一個(gè)和。
求所有子數(shù)組的和的最大值。要求時(shí)間復(fù)雜度為O(n)。

關(guān)于連續(xù)子數(shù)組最大和這個(gè)問題,有兩種解法,一種是動(dòng)態(tài)規(guī)劃

解法如下:

function getMaxSubSum($arr){
  $curSum = $arr[0];
  $maxSum = $arr[0];
  for($i = 1; $i < count($arr); $i++){
    if($curSum > 0) $curSum += $arr[$i];
    else $curSum = $arr[$i];
    if($curSum > $maxSum) $maxSum = $curSum;
  }
  return $maxSum;
}

還有一種是掃描法

function getMaxSubSum($arr){
  $curSum = 0;
  $maxSum = 0;
  for($i = 0; $i < count($arr); $i++ ){
    $curSum += $arr[$i];
    if($curSum <= 0) $curSum = 0;
    if($curSum > $maxSum) $maxSum = $curSum;
  }
  if($maxSum == 0){
    $maxSum = $arr[0];
    for($i = 1; $i < count($arr); $i++){
      if($maxSum < $arr[$i] ) $maxSum = $arr[$i];
    }
  }
  return $maxSum;
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

铜梁县| 田东县| 华安县| 福清市| 定日县| 嘉荫县| 乌审旗| 蓝田县| 桃江县| 营口市| 页游| 宁明县| 民权县| 景宁| 通化县| 东兰县| 如东县| 城口县| 锡林浩特市| 黄冈市| 龙胜| 高安市| 高阳县| 手游| 休宁县| 页游| 抚州市| 比如县| 开封市| 昌图县| 谢通门县| 邵东县| 玛多县| 陈巴尔虎旗| 越西县| 临潭县| 山西省| 樟树市| 来宾市| 南岸区| 临澧县|