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.
- Blind 75 · #68 of 75 · Math & Geometry
- NeetCode 150 · #136 of 150 · Math & Geometry
- NeetCode 250 · #232 of 250 · Math & Geometry
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:
- Think about how rotating a matrix by 90 degrees affects the position of each element in terms of its row and column indices.
- 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.
- 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
- Array/Matrix Manipulation Patterns pattern guide
- In-place Rotation subpattern
- The full DSA patterns sheet
Problems related to Rotate Image
Other problems that use the same In-place Rotation and Array/Matrix Manipulation Patterns techniques:
- Concatenation of Array — Easy, same subpattern
- Rotate Array — Medium, same subpattern
- Transpose Matrix — Easy, same subpattern
- Add Binary — Easy, same pattern
- Add to Array-Form of Integer — Easy, same pattern
- Contains Duplicate — Easy, same pattern
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.