48. Rotate Image

Rotate Image (LeetCode 48) is a Medium Data Structures and Algorithms interview problem you can solve, run and submit on Thita.ai. It belongs to the Array/Matrix Manipulation Patterns pattern, in the In-place Rotation subpattern.

How to solve Rotate Image

Rotate Image is a In-Place Array and Matrix Rotation problem, part of Array/Matrix Manipulation Patterns. Learn in-place rotation techniques for arrays and matrices. Rotate without using extra space.

Work towards the solution in these steps:

  1. Think about how rotating a matrix by 90 degrees affects the position of each element in terms of its row and column indices.
  2. Consider that rotating the matrix in-place means you cannot use extra space for another matrix, so you need to find a way to rearrange elements within the existing matrix.
  3. Explore the possibility of breaking down the rotation into simpler steps, such as first reversing or transposing the matrix, which might transform the problem into easier operations.

The reference solution runs in O(n^2) time and O(1) space.

The Rotate Image solution and editorial walks through the full approach with reference code.

Problem statement

You are given an n x n 2D matrix representing an image, rotate the image by 90 degrees (clockwise).

You have to rotate the image in-place, which means you have to modify the input 2D matrix directly. DO NOT allocate another 2D matrix and do the rotation.

Example 1:

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

Example 2:

Input: matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] Output: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

Constraints:

- n == matrix.length == matrix[i].length

- 1 <= n <= 20

- -1000 <= matrix[i][j] <= 1000

Topics and companies

Topics: Array, Math, Matrix.

Reported in interviews at Amazon, Microsoft, Apple, Uber, Cisco, Facebook, Rubrik, Adobe, Nvidia, Google, Quora, eBay and others.

How to practise Rotate Image on Thita.ai

Starter code is provided in C, C#, C++, Go, Java, JavaScript and Python. Your solution runs against 5 test cases for this problem, with the AI coach available for a hint when you are stuck rather than a finished answer. The reference solution runs in O(n^2) time and O(1) space.

Open Rotate Image in the code editor, or read the Rotate Image editorial for a worked solution with its approach and complexity analysis.

Where Rotate Image sits in the DSA pattern sheet

Problems related to Rotate Image

Other problems that use the same In-place Rotation and Array/Matrix Manipulation Patterns techniques:

Rotate Image FAQ

What is the LeetCode number of Rotate Image?

Rotate Image is LeetCode problem 48, rated Medium.

What pattern is used to solve Rotate Image?

Rotate Image is a In-Place Array and Matrix Rotation problem. It belongs to the Array/Matrix Manipulation Patterns pattern, in the In-place Rotation subpattern.

What is the time complexity of Rotate Image?

The reference solution runs in O(n^2) time and O(1) space.

Which companies ask Rotate Image?

Rotate Image has been reported in interviews at Amazon, Microsoft, Apple, Uber, Cisco, Facebook, Rubrik, Adobe, Nvidia, Google, Quora, eBay and others.

Preparing this workspace.