I'm trying to rotate a matrix 90 degrees by transposing and rotating elements row by row, but the transposed part, the first i,j loop, isn't getting saved.
def rotate(matrix)
size = matrix.length
for i in 0..size-1
for j in 0..size-1
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
end
end
if size.even?
for i in 0..size-1
for j in 0..(size-1)/2
matrix[i][j], matrix[i][size-1-j] = matrix[i][size-1-j], matrix[i][j]
end
end
else
for i in 0..size-1
for j in 0..((size-1)/2 + 1)
matrix[i][j], matrix[i][size-1-j] = matrix[i][size-1-j], matrix[i][j]
end
end
end
matrix
end
would anyone have any explanations for that?