Skip to content

Instantly share code, notes, and snippets.

@blasten
Created February 4, 2015 19:06
Show Gist options
  • Save blasten/3094baaf35c5a1359e73 to your computer and use it in GitHub Desktop.
Save blasten/3094baaf35c5a1359e73 to your computer and use it in GitHub Desktop.
Rotates a matrix of pixels in place
function rotatePicture(matrix) {
if (matrix.length == 0 || matrix.length != matrix[0].length) {
return [];
}
var n = matrix.length;
var center = parseInt(n/2);
for (var i = 0; i < center; i++) {
var start = i;
var end = n - i - 1;
for (var j = start; j < end; j++) {
var top = matrix[start][j];
var left = matrix[j][end];
var bottom = matrix[end][end - j - start];
var right = matrix[end - j - start][start];
matrix[start][j] = right;
matrix[j][end] = top;
matrix[end][end - j - start] = left;
matrix[end - j - start][start] = bottom;
}
}
return matrix;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment