Найти капли данных в 2D массиве (с допуском) - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь сгруппировать 2D-массив в несколько фрагментов данных. Алгоритм, который я нашел и который наиболее близок к решению, которое я ищу, - это маркировка подключенных компонентов, но он должен быть в состоянии управлять промежутками между кусками.

Например, с учетом матрицы с данными, подобными этим :

[3][0][0][0][1][0][1][0][0]
[2][6][0][3][1][0][9][0][0]
[5][2][0][0][0][0][0][0][0]
[1][1][1][0][0][0][0][0][0]
[0][0][0][0][0][0][0][0][0]
[0][0][0][0][0][6][1][0][0]
[0][0][0][0][0][3][0][0][2]

Алгоритм должен возвращать что-то, помеченное так:

[1][0][0][0][1][0][1][0][0]
[1][1][0][1][1][0][1][0][0]
[1][1][0][0][0][0][0][0][0]
[1][1][1][0][0][0][0][0][0]
[0][0][0][0][0][0][0][0][0]
[0][0][0][0][0][2][2][0][0]
[0][0][0][0][0][2][0][0][2]

Каков наилучший способ добиться этого?

Спасибо

...