Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
|
Re: Algorithmus Laufzeitverhalten Knoten im Kopf (Knobelaufg
3. Mär 2006, 07:24
Lass mich mal raten
" m m r t f f f y x x x x x"
müsste
" m f x x x x x x x x x x x"
ergeben ?
Dann ist das einfach. Du arbeitest von vorne nach hinten. Du speicherst den Index an dem der Buchstabe, hier m,f,x im Array gespeichert werden müsste, also m = 1, f = 2, x = 3. Nun brauchst du noch eine Variable die speichert wie oft der aktuell höchste Buchstabe an einem Stück vorkam. Also m = 2, f = 3, x = 5. Bei jedem neuen Buchstaben wird nun ein Zähler auf 1 gesetzt und solange inkrementiert wie der nachfolgende Buchstabe identisch ist. Ist der nachfolgende Buchstabe nicht identisch so vergleichst du diesen Zähle mit dem Zähler des aktuell höchsten Buchstabens. Sollte der Zähler größer sein so passieren zwei Dinge: 1.) im Array am Buchstaben-Index den aktuellen Buschstaben speichern und Buchstaben-Index +1 inkrementieren. 2.) den aktuell höchsten Zähler auf den neuen Wert setzen.
Am Ende hast du ein Array das so assehen würde:
" m f x t f f f y x x x x x"
bei dem aber nur die Werte
" m f x"
von Interesse sind. Die nachfogenden Werte im Array müssen alle mit "x" gefüllt werden.
Gruß Hagen
|