Algorithmen und Datenstrukturen · Junior · Frage 41 von 75
Wie dreht man ein Array an Ort und Stelle mit O(1) zusätzlichem Speicher um?
- 1Die Elemente vom Ende her in ein neues Array kopieren
- 2Elemente von beiden Enden zur Mitte hin vertauschen
- 3Jedes Element auf einen Stack legen und wieder herunternehmen
Antwort zeigen
Richtige Antwort: Elemente von beiden Enden zur Mitte hin vertauschen
Erklärung
Zwei Zeiger i = 0 und j = n - 1 vertauschen arr[i] und arr[j] und bewegen sich aufeinander zu, bis sie sich treffen. Kopieren oder ein Stack brauchen O(n) zusätzlichen Speicher.