1: Frage zu assembleNumbers()

paddy01
Neuling
Neuling
Beiträge: 3
Registriert: 2. Mai 2015 15:07

1: Frage zu assembleNumbers()

Beitrag von paddy01 » 2. Mai 2015 15:30

Meine Tests behaupten ich würde neue Objekte erstellen aber das tut meine Schleife zu keinem Zeitpunkt.
Ich blicke nicht wirklich durch den Test durch aber ich vermute dass ein Algorithmus verlangt ist, der Zahlenelemente direkt zusammen fügt und Operatoren-Elemente unberührt lässt... Meine Version schiebt alles auf, vielleicht mal an einem kleinen Beispiel erklärt:

p1 ist der Poitner auf das zu schreibende Element, p2 der Pointer auf das Element wo ich die Daten hernehme:

p1 p2
|1| |2| |+| |3| - >

p1 p2
|12| |2| |+| |3| ->

p1 p2
|12| |2| |+| |3| ->

p1 p2
|12| |+| |+| |3| ->

|12| |+| |3| |3| nach der Schleife wird dann der überflüssige Rest ( in dem Fall |3| ) gelöscht und man erhält das gewünschte Ergebnis nur dass der Inhalt aus dem dritten Element jetzt im Zweiten ist und der aus dem 4. im 3...

Meine Frage ist jetzt, ist meine Herangehensweise grundsätzlich falsch und/oder unperformant? Oder sollten die Tests das eigentlich tollerieren und meine Implementierung muss irgendwo immernoch falsch sein?

Gruß, Paddy

KaeferZuechter
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 108
Registriert: 15. Apr 2015 19:24

Re: 1: Frage zu assembleNumbers()

Beitrag von KaeferZuechter » 2. Mai 2015 15:37

Deine Implementierungsidee wird die Tests nicht bestehen. Ist ein Operator zu Beginn an Stelle 3 und die ersten beiden Elemente werden vereinigt, erwartet der Test die gleiche Referenz später an Stelle 2.

Zudem ist deine Herangehensweise ineffizient, da du auf die Art zum Löschen eines einzelnen Elementes alle nachfolgenden Elemente verschieben musst. Der Sinn einer LinkedList besteht allerdings darin, genau das zu vermeiden.
IT'S CALLED A FOURIER TRANSFORM WHEN YOU TAKE A NUMBER AND CONVERT IT TO THE BASE SYSTEM WHERE IT WILL HAVE MORE FOURS, THUS MAKING IT "FOURIER". IF YOU PICK THE BASE WHERE IS HAS THE MOST FOURS, THE NUMBER IS SAID TO BE "FOURIEST".

\(1160_8 \rightarrow 624_{10} \rightarrow 440_{12} \rightarrow 4444_5\)

- Zach Weiner -

paddy01
Neuling
Neuling
Beiträge: 3
Registriert: 2. Mai 2015 15:07

Re: 1: Frage zu assembleNumbers()

Beitrag von paddy01 » 2. Mai 2015 15:47

Alles klar, danke für die schnelle Antwort

LukasP
Erstie
Erstie
Beiträge: 14
Registriert: 17. Okt 2014 22:35

Re: 1: Frage zu assembleNumbers()

Beitrag von LukasP » 3. Mai 2015 18:18

Ich kann leider nicht nachvollziehen, wo das Problem, mit der Erstellung neuer Objekte ist (Objekte, auf die nicht mehr verwiesen wird, werden vom GarbageCollector doch automatisch entsorgt).
Ausserdem empfinde ich es als umstaendlicher den ersten Kandidaten die 'ganze' Zeit mitzuschleppen, um dem dann einen neuen Wert in data zu schreiben.

edit: ist klar, was verlangt wird

Antworten

Zurück zu „Archiv“