Как повернуть массив на 90 градусов java — Q&A Хекслет
2026-02-26 15:11 Diff
import java.util.Arrays; public class App { public static void main(String[] args) { int[][] arr = {{1,2,3}, {4,5,6}, {7,8,9}}; int[][] rotateLeft = rotateMatrix(arr, RotateType.LEFT); System.out.println(Arrays.deepToString(rotateLeft)); // => [[3, 6, 9], [2, 5, 8], [1, 4, 7]] int[][] rotateRight = rotateMatrix(arr, RotateType.RIGHT); System.out.println(Arrays.deepToString(rotateRight)); // => [[7, 4, 1], [8, 5, 2], [9, 6, 3]] } enum RotateType { // для задания типа поворота - влево или вправо LEFT, RIGHT } public static int[][] rotateMatrix(int[][] matrix, RotateType type) { var rows = matrix[0].length; var columns = matrix.length; var result = new int[rows][columns]; for (var i = 0; i < rows; i++) { for (var j = 0; j < columns; j++) { result[i][j] = (type == RotateType.LEFT) ? matrix[j][rows - 1 - i] : matrix[columns - 1 - j][i]; } } return result; } }