大叔爱吃猕猴桃 我现在有一个canvas,上面随机布着一些黑块,请实现方法,计算canvas上有多少个黑块。 这一题可以转化成图的联通分量问题。通过getImageData获得像素数组,从头到尾遍历一遍,就可以判断每个像素是否是黑色。同时,准备一个width * height大小的二维数组,这个数组的每个元素是1/0。如果是黑色,二维数组对应元素就置1;否则置0。 然后问题就被转换成了图的连通分量问题。可以通过深度优先遍历或者并查集来实现。