Inspired by Raymond Chen’s post, say you have a 4×4 two dimensional array, write a function that rotates it 90 degrees. Raymond links to a solution in pseudo code, but I’d like to see some real world stuff.
[1][2][3][4] [5][6][7][8] [9][0][1][2] [3][4][5][6]
Becomes:
[3][9][5][1] [4][0][6][2] [5][1][7][3] [6][2][8][4]
Update: Nick’s answer is the most straightforward, but is there a way to do it better than n^2? What if the matrix was 10000×10000?
Here it is in C#