이 기사는 PHP에서 가장 큰 하위 배열을 구현하는 아이디어에 대한 설명을 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.
key buy sell for i=0;i<n;i++ for j=i+1;j<n;j++ p=key=arr[j]-arr[i] if !key key=p if key<p buy=i sell=j
문제 변형: 배열 A에서 요소의 연속 합이 가장 큰 하위 배열은 요소에 음수가 있을 때만 의미가 있습니다.
분할 정복 전략의 솔루션 아이디어:
1. mid,A[low..mid],A[mid+1..high]
2.A[low,high]는 하위 배열 A[low..mid] low<=i<=j<에 완전히 위치합니다. ;=mid
3.A[ mid+1..high] mid4에 완전히 위치해 있습니다. 왼쪽 절반의 최대 합 찾기(가운데에서 왼쪽으로 찾기), 오른쪽 절반의 최대 합 찾기(가운데에서 오른쪽으로 찾기)
leftSum left for i=mid;i>=low;i-- sum=sum+A[i] if sum>leftSum leftSum=sum left=i rightSum right for j=mid+1;j<=high;j++ sum+=A[j] if sum > rightSum rightSum=sum right=i 6.递归调用 mid=(low+high)/2 find(A,low,mid) find(A,mid+1,high) findCross(A,low,mid,high)관련 권장 사항:
PHP 구현 찾기 연속 하위 배열의 최대 합 문제에 대한 2가지 솔루션
가장 긴 공개 하위 문자열 사고 방법을 해결하는 PHP 구현
위 내용은 PHP에서 가장 큰 하위 배열을 구현하는 아이디어에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!