>백엔드 개발 >PHP 튜토리얼 >최강의 두뇌 김수현은 언제 방송되나요? PHP에서 하위 시퀀스의 최대 합을 찾는 알고리즘 구현

최강의 두뇌 김수현은 언제 방송되나요? PHP에서 하위 시퀀스의 최대 합을 찾는 알고리즘 구현

WBOY
WBOY원래의
2016-07-29 08:45:391122검색

코드 복사 코드는 다음과 같습니다.


//작성자: Distant Expectation
// 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$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 '
'; echo '최대 하위 시퀀스의 합은'


이상은 최강의 두뇌 김수현의 내용을 포함하여 PHP에서 최대 하위 시퀀스 합을 찾는 알고리즘의 구현을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.