Мне был задан следующий вопрос:
Учитывая массив 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];
}
}
Последующий вопрос был, как это можно перевернуть в 0 (n)или лучше, если бы он представлял трехмерную матрицу?
Этот пример был дан для пояснения:
Width = 2
Height = 2
Depth = 4
Given = [0000111122223333]
Represents = [ [[0000],[1111]] , [[2222],[3333]] ]
Flipped = [1111000033332222]
Я до сих пор знаю, как это будет сделано?