You get a square grid matrix of integers, with n rows and n columns.
Rotate it a quarter turn clockwise, like turning a photo onto its right side.
matrix is a vector of rows. Each row is a vector of integers. Row 0 is the top row. Column 0 is the leftmost column.
Work in place. Change the numbers inside matrix itself, and don't fill a new grid.
Your function returns nothing. Each example's output shows matrix after the function runs.
Example 1:
Input: matrix = [ [4, 9, 2], [3, 5, 7], [8, 1, 6] ] Output: [ [8, 3, 4], [1, 5, 9], [6, 7, 2] ] Explanation: The left column, read from the bottom up, is now the top row. The top row is now the right column. The 5 in the center stays where it is.
Example 2:
Input: matrix = [ [-3, 8], [8, 0] ] Output: [ [8, -3], [0, 8] ] Explanation: Each number moves to the next corner clockwise: -3 goes to the top right, the top-right 8 goes to the bottom right, 0 goes to the bottom left, the bottom-left 8 goes to the top left.
Example 3:
Input: matrix = [ [7] ] Output: [ [7] ] Explanation: A single number has nowhere to move.
Constraints:
nis from 1 to 500.- Each value is an integer from -1000 to 1000.
- Negative values and repeats are allowed.
Note:
Your algorithm should run in O(n2) time and use O(1) extra space: it only moves numbers around inside matrix.
Free plan: 30 tutor messages. PRO is unlimited.
