Was dieser Artikel Ihnen bringt, ist eine Erklärung der Idee, das größte Subarray in PHP zu implementieren. Ich hoffe, dass er für Sie hilfreich ist.
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
Problemvariante: Das Subarray mit der größten kontinuierlichen Summe von Elementen in Array A ist nur dann sinnvoll, wenn die Elemente negative Zahlen haben
Die Lösungsidee der Divide-and-Conquer-Strategie:
1 . Finden Sie die zentrale Position mid,A[low..mid],A[mid+1..high]
2.A[low,high] liegt vollständig im Unterarray A[low..mid ] low<=i<=j< ;=mid
3 Vollständig gelegen bei A[mid+1..high] mid4. =mid
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)
Verwandte Empfehlungen:
Die Methode zum Lösen des längsten gemeinsamen Teilstrings in PHP
Das obige ist der detaillierte Inhalt vonEine Erklärung der Idee, das größte Subarray in PHP zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!