Как я могу отфильтровать матрицу N*N, которая представлена ​​в виде карты (N,N) по строке, столбцу, диагонали и анти-диагонали в scala?

Мне интересно, как я могу использовать встроенные методы для Maps/lists/etc... в Scala, чтобы получить строки, столбцы, диагональ и анти-диагональ N N матрицы в Scala? Предположим, что у вас есть N N матрица, представленная на карте, где каждая запись соответствует позиции, например: Map(0,0), Map(0,1) ... Map(N,N).

Может кто-нибудь придумать предикат, который позволил бы этому работать? Так, например, я мог бы вызвать map.groupby(предикат) и получить список списков по строке, столбцу, диагонали и анти-диагонали?

Примечание: я не могу использовать для циклов или любых изменяемых объектов, только встроенные методы и сопоставление с образцом, если я должен.

Любая помощь или руководство будет принята с благодарностью! Большое спасибо.

0 ответов

Другие вопросы по тегам