Как вы поворачиваете массив на 90 градусов, не используя массив хранения в Java? - PullRequest
0 голосов
/ 03 октября 2018

Мне было приказано не использовать массив хранения для выполнения этой задачи.По сути, мы должны создать функцию, которая поворачивает содержимое двумерного массива на 90 градусов.

Так что, если я начну с этого массива:

int[][] array = {{1,2,3}, {4,5,6}, {7,8,9}};

Функция должна возвращать массив, подобныйthis:

{{7,4,1}, {8,5,2}, {9,6,3}}

Опять же, мы не можем использовать созданный массив в функции для хранения.Можно ли вообще сделать это без массива хранения?

1 Ответ

0 голосов
/ 03 октября 2018

Вы можете вращать / перемещать массив, меняя верхнюю половину на нижнюю половину по одному:

import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        int[][] array = new int[][] {
            new int[] { 1, 2, 3},
            new int[] { 4, 5, 6},
            new int[] { 7, 8, 9},
        };

        for (int row = 0; row < 3; row++) {
            for (int col = 0; col < row; col++) {
                int t = array[row][col];
                array[row][col] = array[col][row];
                array[col][row] = t;
            }
        }

        for (int row = 0; row < 3; row++) {
            System.out.println(Arrays.toString(array[row]));
        }
    }
}
...