Одна из популярных задачек на собеседовании - написать метод, инвертирующий элементы массива:
public class ArrayInverter {
public static void invert(int[] arr) {
for (int k = 0; k < arr.length / 2; k++) {
int tmp = arr[k];
arr[k] = arr[arr.length - k - 1];
arr[arr.length - k - 1] = tmp;
}
}
}
Пример работы:
import java.util.Arrays;
import static ArrayInverter.invert;
public class ArrayInverterTest {
public static void main(String[] args) {
int[] arr;
arr = new int[]{};
System.out.print(Arrays.toString(arr) + " -> ");
invert(arr);
System.out.println(Arrays.toString(arr));
arr = new int[]{0};
System.out.print(Arrays.toString(arr) + " -> ");
invert(arr);
System.out.println(Arrays.toString(arr));
arr = new int[]{0, 1};
System.out.print(Arrays.toString(arr) + " -> ");
invert(arr);
System.out.println(Arrays.toString(arr));
arr = new int[]{0, 1, 2};
System.out.print(Arrays.toString(arr) + " -> ");
invert(arr);
System.out.println(Arrays.toString(arr));
arr = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.print(Arrays.toString(arr) + " -> ");
invert(arr);
System.out.println(Arrays.toString(arr));
}
}
>> [] -> []
>> [0] -> [0]
>> [0, 1] -> [1, 0]
>> [0, 1, 2] -> [2, 1, 0]
>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -> [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Лабораторные
Задания лабораторных можно прочитать на этой странице.К этой странице относится лабораторная proc.loop.array_inverter_optimized.