Szukałem na kilka pytań do wywiadu, i ja natknęliśmy się na ten jeden:Znalezienie bloki w macierzach
Jest tablicą m x n. Blok w tablicy jest oznaczony jako 1, a 0 oznacza brak bloku. Powinieneś znaleźć liczbę obiektów w tablicy. Obiekt to tylko zestaw bloków, które są połączone poziomo i/lub pionowo.
np
0 1 0 0
0 1 0 0
0 1 1 0
0 0 0 0
0 1 1 0
Odpowiedź: Istnieją 2 obiektów w tej tablicy. Obiekt kształtu L i obiekt w ostatnim wierszu.
Mam problem z wymyśleniem algorytmu, który złapie kształt "u" (jak poniżej). Jak mam się do tego zbliżyć?
0 1 0 1
0 1 0 1
0 1 1 1
0 0 0 0
0 1 1 0
Prawdopodobnie można użyć [Fill Flood] (http: // en.wikipedia.org/wiki/Flood_fill), aby znaleźć kształty. Przeszukuj (nieodwiedzone) 1 i wypełnij kształt, gdy go znajdziesz. – thegrinner
, więc przekątne nie są uważane za ważne połączenia? –
Nie, nie są. – Lg102