public class Rotate
{
public static int[][] rotateArray(int[][] orig)
{
int[][] neo = new int[orig.length][orig[0].length];
for(int r = 0; r < orig.length; r++)
{
for(int c = 0; c < orig[0].length; c++)
{
neo[(orig.length - 1) - c][r] = orig[r][c];
}
}
return neo;
}
}
之前已经回答过这个问题,但由于我是编程新手而且我所知道的是Java,我无法按照我发现的最好的例子,因为它是在C#中。对不起,副本。 我将新的旋转数组命名为neo,因为我想要原始和新的,但后来记得新的不能用来命名变量,所以我使用neo意味着新的:)
答案 0 :(得分:0)
这是对代码示例的简单修改。注意旋转的数组维度和旋转代数是如何改变的。
static int[][] rotateArrayCW(int[][] orig) {
final int rows = orig.length;
final int cols = orig[ 0 ].length;
final int[][] neo = new int[ cols ][ rows ];
for ( int r = 0; r < rows; r++ ) {
for ( int c = 0; c < cols; c++ ) {
neo[ c ][ rows - 1 - r ] = orig[ r ][ c ];
}
}
return neo;
}