有人问我以下问题:
给定一个表示2D矩阵的1D数组,将值垂直翻转为0(n)或更好。 您将获得矩阵的高度和宽度。
我通过以下方式执行此操作:
// Given width and height
int w = 8;
int h = 2;
// Initialize the arrays
float[] random = new float[w*h];
float[] output = new float[w*h];
// Fill with random values
for(int i = 0; i < random.length; i++) {
//random[i] = (float)(Math.random());
random[i] = (float)(i);
}
// Flip code
int flipped = 0;
for(int i = 0; i < w; i++) {
for(int j = 0; j < h; j++){
flipped = Math.abs(i-(w-1));
output[j*w+i] = random[j*w+flipped];
}
}
后续问题是,如果它代表3D矩阵,如何将其翻转到0(n)或更佳?
给出此示例是为了澄清:
Width = 2
Height = 2
Depth = 4
Given = [0000111122223333]
Represents = [ [[0000],[1111]] , [[2222],[3333]] ]
Flipped = [1111000033332222]
我现在仍然知道该怎么做?