m 00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33 // right = top 00 01 02 03 13 23
rotate90C(m): // no throw for n = 0 if m == null || (m.length() > 0 && m.length() != m[0].length()): throw n = m.length() for layer = 0, layer < n/2, layer++: for i = layer, i < n-1 -layer, i++: // temp = top temp = m[layer][i] // top = left m[layer][i] = m[n-1-i][layer] // left = bottom m[n-1-i][layer] = m[n-1-layer][n-1-i] // bottom = right m[n-1-layer][n-1-i] = m[i][n-1-layer] // right = temp m[i][n-1-layer] = temp[Hat tip to ctci]
180 degrees.
rotate180(m): // no throw for n = 0 if m == null || (m.length() > 0 && m.length() != m[0].length()): throw for layer = 0, layer < n/2, layer++: for i = layer, i < ni -layer, i++: // top - bottom swap(m, layer, i, ni -layer, ni -i) // left - right swap(m, i, ni -layer, ni -i, layer)
No comments:
Post a Comment