
Problem
Solution
Submissions
Rotate Image
Certification: Intermediate Level
Accuracy: 0%
Submissions: 0
Points: 10
Write a JavaScript program to rotate an n x n 2D matrix representing an 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]]
- Explanation:
- The original matrix is a 3x3 grid with values arranged row by row.
- After rotating 90 degrees clockwise, the first row [1,2,3] becomes the last column.
- The middle row [4,5,6] becomes the middle column.
- The last row [7,8,9] becomes the first column.
- The resulting matrix shows each element moved to its new rotated position.
- The original matrix is a 3x3 grid with values arranged row by row.
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]]
- Explanation:
- The original matrix is a 4x4 grid with 16 elements.
- Each element moves according to the 90-degree clockwise rotation rule.
- The top-left corner (5) moves to the top-right corner position.
- Each ring of the matrix rotates independently.
- The final matrix maintains the same dimensions but with rotated element positions.
- The original matrix is a 4x4 grid with 16 elements.
Constraints
- n == matrix.length == matrix[i].length
- 1 <= n <= 20
- -1000 <= matrix[i][j] <= 1000
- You must rotate the matrix in-place
- Time Complexity: O(n²)
- Space Complexity: O(1)
Editorial
My Submissions
All Solutions
Lang | Status | Date | Code |
---|---|---|---|
You do not have any submissions for this problem. |
User | Lang | Status | Date | Code |
---|---|---|---|---|
No submissions found. |
Solution Hints
- Transpose the matrix first (swap matrix[i][j] with matrix[j][i])
- After transposing, reverse each row to complete the 90-degree rotation
- Use nested loops to iterate through the matrix elements
- For transposition, only iterate through the upper triangle to avoid double swapping
- Use array reversal method or two-pointer technique to reverse rows