形成一个相连的Xs岛

问题描述

给出一个由Os和Xs组成的二维数组,找到需要翻转成Xs来连接所有连接的Xs的Os的最小数量。如果X彼此相邻(不是对角线),则X会连接到另一个X。

样本输入:

A =

  [ OOOXOOO

    OOXXOXO

    OXOOOXO ]

输出: 2

我心中的想法是选择一个X,然后继续移动到最近的X,同时在两者之间翻转Os,直到我们连接所有X。这有什么问题吗,或者您可以提出更好的方法

此外,这是否类似于使用Kruskal的Aglo或Prim的算法找到最小生成树?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)