什么是Flood Fill (洪水填充、泛洪填充、油漆桶算法)
从一个区域中提取若干个连通的点与其他相邻区域区分开(或分别染成不同颜色)的经典算法。
因为其思路类似洪水从一个区域扩散到所有能到达的区域而得名。
详细解释: 维基百科Flood Fill
实现(油漆桶)四通实现
import java.util.LinkedList;
public class FloodFill {
protected int[][] colors; // 颜色池
protected int x, y; // 二维数组(图片)大小
/* 记录点 */
private final class Point {
int x, y;
Point(int x, int y) {
this.x = x;
this.y = y;
}
}
/**
* 设置二维数组(图片)
* @param colors 二维数组,模拟图片每个点的颜色
* @param x 图片x轴大小
* @param y 图片y轴大小
*/
public void setColors(int[][] colors, int x, int y) {
this.colors = colors;
this.x = x;
this.y = y;
}
/**
* floodFill(BFS),选中坐标(cx,cy)必须为有效点
*
* @param