kadanes-algorithm

___ answer7778302 ___

In etwa so:

%Vor%     
___ qstntxt ___
%Vor%

Der obige Code gibt die Summe des maximalen Sub-Arrays zurück.

Wie würde ich stattdessen das Unterfeld zurückgeben, das die maximale Summe hat?

    
___ qstnhdr ___ Wie wird das maximale Sub-Array in Kadanes Algorithmus zurückgegeben? ___ answer11109010 ___

Der obige Code weist einen Fehler auf. Sollte sein:

%Vor%

NICHT:

%Vor%

Wenn nicht, würde eine Sequenz wie 2, 4, 22, 19, -48, -5, 20, 40 fehlschlagen und 55 anstelle der korrekten Antwort von 60 zurückgegeben.

SIEHE Kadane-Algorithmus bei Ссылка

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ answer42917429 ___

Wir können das maximale Subarray mit folgendem Code verfolgen:

%Vor%

P.S. Angenommen, das angegebene Array ist ein Kandidat für das Max-Sub-Array-Problem und hat nicht alle negativen Elemente

    
___ answer29145386 ___

Ein einfacherer Ansatz, der eng mit dem Algorithmus verknüpft ist.

%Vor%

Sobald Sie den Start- und Endindex haben.

%Vor%     
___ tag123algorithm ___ Ein Algorithmus ist eine Folge wohldefinierter Schritte, die eine abstrakte Lösung für ein Problem definieren. Verwenden Sie dieses Tag, wenn sich Ihr Problem auf den Algorithmusentwurf bezieht. ___ tag123kadanesalgorithmus ___ Der Kadane-Algorithmus ist ein dynamischer Programmieransatz für das maximale Subarray-Problem, d. h. die Aufgabe, das zusammenhängende Subarray innerhalb einer eindimensionalen Anordnung von Zahlen (mit mindestens einer positiven Zahl) zu finden, die die größte Summe hat. ___ answer27771529 ___

Ich verwalte das max_so_far in einer Liste:

%Vor%

Suchen Sie dann die größte Summe in der Liste, deren Index als Untersequenz endet. Beginnen Sie mit dem Index als Ende und suchen Sie rückwärts. Suchen Sie den letzten Index, dessen Wert positiv ist. Start der Untersequenz ist dieser Index.

%Vor%     
___
8
Antworten

Minimale absolute Summe eines Subarrays finden

Es gibt ein Array A , das (positive und negative) Ganzzahlen enthält. Suchen Sie nach einem (zusammenhängenden) Subarray, dessen absolute Summe der Elemente minimal ist, z. B .: %Vor% Ich habe mit der Implementierung eines Brute-Force-Algo...
22.09.2014, 02:31
4
Antworten

Kadane-Algorithmus in Java

Ich habe die folgende Implementierung von Kadanes Algorithmus in Java. Es ist im Grunde, die maximale Summe von zusammenhängenden Subarrays zu finden. %Vor% Dies funktioniert jedoch nicht, wenn eine Kombination aus einer negativen und einer...
29.08.2011, 16:36
5
Antworten

Wie wird das maximale Sub-Array in Kadanes Algorithmus zurückgegeben?

%Vor% Der obige Code gibt die Summe des maximalen Sub-Arrays zurück. Wie würde ich stattdessen das Unterfeld zurückgeben, das die maximale Summe hat?     
15.10.2011, 13:48