Учитывая, что у меня есть матрица (mXn):
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0
0 | 1 | 1 | 2 | 1 | 1 | 0 | 0 | 0
0 | 1 | 4 | 9 | 4 | 1 | 0 | 0 | 0
1 | 2 | 9 | # | 9 | 2 | 1 | 0 | 0
0 | 1 | 4 | 9 | 4 | 1 | 0 | 0 | 0
0 | 1 | 1 | 2 | 1 | 1 | 0 | 0 | 0
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0
В случае случайного набора пятна #
. Значения, близкие к этому, влияют в виде волны. Чем ближе к этому месту, тем ближе значение доходит до 10.
Какой алгоритм будет хорошо работать при нахождении #
, если предположить, что он будет использоваться в больших масштабах?
EDIT: меня больше интересует, как найти первое ненулевое число, чем найти #
сам, что является целью, но не реальной проблемой.
Представьте себе огромную матрицу, полную нуля, и где-то скрывается #
. Исчерпывающая часть алгоритма состоит в том, чтобы найти первое ненулевое значение.