public static void reverseArray(int[] array) {
for (int i = 0; i < array.length / 2; i++) {
int temp = array[i];
array[i] = array[array.length - i - 1];
array[array.length - i - 1] = temp;
}
}
решил посмотреть решение задачи, но не до конца понял что к чему. почему в условии делят длину массива на 2? что делают последние 2 строки цикла?
Iscile
21 уровень
объясните логику решения
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Андрей
26 мая 2021, 11:49
Длина масива делится на два, потому что весь массив можно развернуть за количество итераций, равное половине его длины. Банальный пример, массив из двух элементов, переворачивается за одну итерацию - меняем первый со вторым элементы. Массив из 4 - за две: меняем местами 1 и 4, меняем местами 2 и 3.
Последние две строчки как раз меняют местами элементы массива:
+1