一个小水滴,每滴一滴水,水滴就变大,当滴到5滴水的时候,这个有5滴水组成的水泡就破裂成4个小水滴往四个方向飞出去。
现有一二维数组,每个数组元素为0-4的整数,表示水滴大小,问怎样来找到一种方式,滴最少的水滴,使得数组清空,全为0。
数组中的元素0表示空,没有障碍的话。如果飞出去的小水滴碰到阻碍了,就融合了。如果木有碰到障碍的话,小水滴就一直不停止,就会飞出去了。
例如:
Sample 1:
000
040
000
滴一滴水就全部清空了
Sample 2:
000
041
000
如果中间滴一滴水的话,就会变成
000
002
000
问怎样来找到一种方式,滴最少的水滴,使得数组清空,全为0。
大家有什么比较好的思路和方法吗?
面试官要求当成写代码的。。。 |