Как получить столбец от 2D массива Java?

Моя попытка в C (70 символов):

P(char*s){char*e=s+strlen(s)-1;while(s<e&&*s==*e)s++,e--;return s>=e;}

[Редактирование] Теперь на самом деле работание
[Редактирование 2] Уменьшенный от 74 до 70 при помощи международного возврата по умолчанию

В ответ на некоторые комментарии: я не уверен, рассчитывает ли то злоупотребление препроцессора - Вы могли бы просто определить все это на командной строке и сделать функцию одним символом.

23
задан Derrick 13 July 2009 в 16:15
поделиться

5 ответов

Если вы ограничены использованием 2-мерного массива, то да, это афайк. Однако,

9
ответ дан 29 November 2019 в 03:08
поделиться

Commons math has some tools you might want to check out:

double[][] data = new double[10][10];
BigMatrix matrix = MatrixUtils.createBigMatrix(data);
matrix.getColumnAsDoubleArray(0);

Commons Math Library

7
ответ дан 29 November 2019 в 03:08
поделиться

Well actually I'd write this as a comment, but my reputation is still to low, so I have to answer:

Guess you mean:

for(int row = 0; row < numRows; row++)
{
    colArray[row] = m2Darray[row][columnOfInterest];
}

BTW: I suppose you are right. There is no easier way.

1
ответ дан 29 November 2019 в 03:08
поделиться

Ваш путь - это путь, который нужно идти. Однако, если вам приходится делать это много раз, я могу порекомендовать хранить его в столбцах. (или в обе стороны)

2
ответ дан 29 November 2019 в 03:08
поделиться

Другой способ - сохранить строки как столбцы и наоборот. например, мне нужно было сделать то же самое, и я изначально планировал получить массив из 10 строк и 2 столбцов. Из-за этого ограничения я просто поменял местами свои строки и столбцы и создал массив из 10 столбцов и 2 строк. Затем я могу использовать array [0], чтобы получить строку из нового массива (который был бы столбцом моего исходного массива). Конечно, у вас есть такая гибкость, только если вы являетесь создателем этого массива.

Надеюсь, что это поможет ...

0
ответ дан 29 November 2019 в 03:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: