Как мы можем преобразовать 3D-массив в 1D-массив в java ??Сгладить 3D-массив до 1D-массива
Я использовал код ниже:
input :double [][][]S_p = { { { 1.1, 2.1 }, { 3.2, 4.1 } },
{ { 5.2, 6.1 }, { 7.1, 8.3 } } };
int rows = S_p.length;
int columns = S_p[0].length;
int depth = S_p[0][0].length;
double [] d1 = new double[row*columns*depth];
for(int i=0;i<depth;i++) {
for(int j=0;j<rows;j++){
for(int k=0;k<columns;k++) {
for(int ii=0;ii<rows*columns*depth;ii++) {
d1 [ii] = S_p[ depth *rows *i + columns *k +j];
}
}
}
out put b[]= {1.1, 2.1, 3.2 , 4.1 ...}
Но это не работает
Какой я ваш вход и ожидаемый выход? Что не так с кодом, который вы пробовали? Ваш вопрос крайне неясен, и ваш пример не может скомпилироваться в его нынешнем виде. –
У вас есть ячейки 'rows * columns * depth'. Не нужно так много итерации, вы уже просматриваете все ячейки с помощью трех первых циклов 'for'. – Aaron