Найти соседние элементы в 2D матрице
У меня есть двумерная матрица порядка m * n
00 01 02 03 ....0n
10 11 12 13 ....1n
20 21 22 23 ....2n
..
m0 m1 m2 m3 ...mn
Исходя из этого, учитывая элемент, мне нужно написать метод, который возвращает смежные элементы. Смежные элементы расположены горизонтально, вертикально или по диагонали.
Например, соседний элемент 01 равен 00,02,10,11,12 смежный элемент 00 - 01, 10,11 смежный элемент 11 - 00,01,02,10,12,20,21,22
Может кто-нибудь помочь мне с оптимистичным алгоритмом, чтобы решить эту проблему?