Menu
CoddyTech

Rotate Image

Kamu diberi grid n × n berisi bilangan bulat, dengan satu list untuk setiap baris. Putar grid seperempat putaran searah jarum jam dan kembalikan. Baris paling atas menjadi kolom paling kanan, baris kedua menjadi kolom di sebelah kirinya, dan seterusnya: nilai di (i, j) berpindah ke (j, n-1-i). Kamu boleh mengubah grid secara langsung, lalu kembalikan.

Fungsi

rotateImage(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
grid persegi, satu list bagian dalam untuk setiap baris
Mengembalikaninteger-2d-array
matriks diputar 90 derajat searah jarum jam

Batasan

  • n == matrix.length == matrix[i].length
  • 1 ≤ n ≤ 70
  • -1000 ≤ matrix[i][j] ≤ 1000

Contoh

Input
matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]
Output
[[4, 9, 3], [8, 5, 7], [6, 2, 1]]
Penjelasan
Baris pertama, 3 7 1, menjadi kolom terakhir, dibaca dari atas ke bawah. Kolom pertama, 3 9 4, dibaca dari bawah ke atas, menjadi baris pertama [4, 9, 3]. Nilai tengah 5 tetap di tempatnya.
challenge icon

Pertanyaan lanjutan

Langkah in-place apa saja yang memutar matriks 180 derajat, dan bisakah kamu melakukannya dalam satu kali lintasan pertukaran?

Reset kode
def rotateImage(matrix):
    # Tulis kodemu di sini

Tes #1

Tes #2

Argumen

matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]

Output yang diharapkan

[[4, 9, 3], [8, 5, 7], [6, 2, 1]]