I have an algorithmic problem where I need to find the biggest area of a certain type of pixels inside a 2D matrix with following conditions:
- Each pixel needs to be connected either diagonally or adjacently.
- The area is considered coherent only if it is surrounded by the other type of pixel( x-es on the edge are not)
A pixel is considered an object with 3 fields:
int x,y; //Cordinates of a pixel String type; //Type of a pixel boolean visited; //Was the pixel visited
The input file is something like this:
oooooooooo oXXooXXXoo oooXoooooo xooooXXXXo xxooXooooo xxxooooooo
The output in this example should be an int of value 5.
Is someone able to tell me if the BFS algorithm is a viable solution or should I try a different approach?