Алгоритми та структури даних · Junior · Запитання 41 з 75
Як розвернути масив на місці з O(1) додаткової пам'яті?
- 1Скопіювати елементи з кінця в новий масив
- ✓Правильна відповідь: Міняти місцями елементи з обох кінців, рухаючись до середини
- 3Покласти кожен елемент у стек і зняти їх назад
Пояснення
Два вказівники i = 0 і j = n - 1 міняють місцями arr[i] і arr[j] і рухаються назустріч, доки не зустрінуться. Копіювання чи стек потребують O(n) додаткової пам'яті.