Stellen Sie sich ein zweidimensionales Array von Booleschen Werten vor, wobei die Nullen Grasquadrate auf einem rechteckigen Grundstück und die Einsen Zäune darstellen.
Schreiben Sie eine Funktion, die das 2D-Array als Eingabe akzeptiert und festlegt, ob Sie mit nur Nord-, Ost-, West- und Südbewegungen von einer Grasfläche zu einer anderen fahren können, ohne gegen einen Zaun zu stoßen.
Wenn eine Grasfläche im Array vollständig von Zäunen umschlossen ist (was bedeutet, dass Sie nicht mit N / E / W / S reisen können, um jede andere Grasfläche im Array zu erreichen), sollte die Funktion false zurückgeben. Andernfalls sollte true zurückgegeben werden.
Im Folgenden finden Sie zwei Beispiel-Arrays, die Sie als Eingaben verwenden können. Ihre Funktion sollte jedoch nicht nur diese, sondern alle 2D-Arrays mit Booleschen Werten verarbeiten können:
0 0 0 0 0
0 1 0 0 0
0 1 1 1 1
0 0 0 0 0
0 0 0 1 1
(should return true)
0 1 0 1 0
0 1 1 0 0
0 0 0 0 0
0 0 0 1 0
1 1 1 1 0
(should return false, since the middle 0 in the top row is fully enclosed)
Kürzester Arbeitscode gewinnt. Ich wähle den Gewinner, nachdem entweder eine Woche vergangen ist oder innerhalb von 24 Stunden keine neuen Beiträge eingegangen sind.
1 1 1; 1 0 1; 1 1 1? In der Mitte befindet sich eine Graszelle. Optisch ist die Graszelle in der Mitte vollständig von Zäunen umschlossen, aber Ihrer Definition nach nicht.