問題給出2D array
寫一個方法來反轉列。如果可能的話,做它in-place
我已經實施,它工作正常,但它不是in-place
。它使用auxillary storage
,是否有可能反轉2D矩陣的列而不使用矩陣。方法在Java中執行二維數組中列的反轉操作
Here is my code:
public static int[][] reverseColumns(int[][] matrix){
int rows=matrix.length;
int cols=matrix[0].length;
int temp=0;
int[][] result= new int[rows][cols];
for (int row=rows-1; row >=0; row--){
for (int col=0;col<cols;col++){
result[row][col]=matrix[temp][col];
}
temp++;
}
return result;
}
public static void print2DArray(int[][] result){
for (int i=0; i < result.length;i++){
System.out.println(Arrays.toString(result[i]));
}
}
public static void main(String[] args)
{
int[][] matrix = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}
int[][] result = reverseColumns(matrix);
print2DArray(result);
System.out.println()
};
輸出是:
[13, 14, 15, 16]
[9, 10, 11, 12]
[5, 6, 7, 8]
[1, 2, 3, 4]
你爲什麼要這麼做?是否有性能問題?如果可以接受,則可以打印反轉的列 – Terraego