Dieser Artikel beschreibt die Java-Implementierung des Maximalwertalgorithmus für die Ermittlung der Summe der Sub-Arrays. Teilen Sie es für Ihre Referenz wie folgt weiter:
Im Allgemeinen werden C und C ++ in der Algorithmus -Implementierung häufiger verwendet. Im Folgenden implementieren wir Algorithmen über Java -Sprache, wodurch wir uns intimer fühlen.
Thema:
Geben Sie ein Formungsarray mit positiven und negativen Zahlen im Array ein.
Ein oder mehrere aufeinanderfolgende ganze Zahlen in einer Array bilden eine Subtarray, jede Subarray hat eine Summe.
Ermitteln Sie den Maximalwert der Summe aller Subtarrays.
Zum Beispiel beträgt das Eingangsarray 1, -2, 3, 10, -4, 7, 2, -5 und die größte Subtarray beträgt 3, 10, -4, 7, 2.
Daher ist die Ausgabe die Summe 18 der Subtarray.
Implementierungscode:
Paket arrDemo; public class maxsub {public static void main (String [] args) {// todo automatisch generierte Methode StubMaxSubarysum1 (); } public static void findMaxSubarysum1 () {// sum ist die Summe der Subarray int sum = 0; // max ist die maximale Summe des Subarray int max = 0; // Startposition des maximalen SubaRray int startpos = 0; // Endposition des maximalen SubaRray int Endpos = 0; int [] array = {-1, 2, -3, 12, -5, -1, 9, -2}; für (int i = 0; i <array.length; i ++) {sum+= array [i]; // sum if (sum <0) {// Wenn die aktuelle Summe negativ ist, löschen Sie sie und die Startposition startet von der nächsten Position Sum = 0; startpos = i + 1; } if (sum> max) {// Wenn die Summe größer als das vorherige Maximum ist, zu MAX zuweisen und die letzte Position max = summe aufzeichnen; Endpos = i + 1; }} System.out.println ("Wulin.com Testergebnis:"); System.out.println ("max:" + max); System.out.println ("startpos:" + startpos + ", Endpos:" + (Endpos - 1)); }}Auslaufergebnisse:
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.