Aufgabenstellung: |
Schreibe eine Prozedur, die die Elemente eines Arrays mit M Elementen um n rotiert. -M < n < M
Beispiel: M = 6, n = 2. Vorher: {1, 2, 3, 4, 5, 6} Nachher: {5, 6, 1, 2, 3, 4}
Versuche Speicherbedarf zu minimieren.
Eine nachträgliche Bemerkung:
Es geht hier nicht um eine konkrete Implementierung in eine konkreten Sprache, eher geht es um den Algorithmus. Versuche es Dir so vorzustellen. Auf einer Straße parken M Autos nebeneinander. Rotiere sie um n, zusammen sollten die Autos nach dem rotieren den selben Platz belegen, wie vorher. Alle Autos sind gleich groß und belegen gleich große Parkplätze. Nur Du darfst die Autos fahren - eins auf einmal. Versuche den Algoritmus so zu gestalten, dass Du ein Minimum an zusätzlichen Parkplätzen brauchst. Autos dürfen nur auf einem Parkplatz stehenbleiben.
Wie kann man dieses Training absolvieren |
Offizielle Teilnehmerliste |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aufgabensteller der zweiten Runde |
Fragen |
Soll die Lösung als Funktion in einer beliebigen Sprache formuliert werden, oder genügt eine Beschreibung des Algorithmus?