### Problem

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Rotate the image by 90 degrees (clockwise).

### Example

**Given ::**

[

[1,2,3],

[4,5,6],

[7.8,9]

]

**Output ::**

[

[7,4,1],

[8,5,2],

[9.6,3]

]

### JavaScript Code

function rotate(matrix) { var n = matrix.length; for (var i = 0; i < n / 2; i++) { for (var j = 0; j < Math.ceil(n/2); j++) { var temp = matrix[i][j]; matrix[i][j] = matrix[n-1-j][i]; matrix[n-1-j][i] = matrix[n-1-i][n-1-j]; matrix[n-1-i][n-1-j] = matrix[j][n-1-i]; matrix[j][n-1-i] = temp; } } return matrix; }

You should be using Math.floor, not Math.ceil. Test your code out on a 3x3 Matrix.

ReplyDeleteAnd there is a period in your arrays

ReplyDelete