问题描述
给出一个由Os和Xs组成的二维数组,找到需要翻转成Xs来连接所有连接的Xs的Os的最小数量。如果X彼此相邻(不是对角线),则X会连接到另一个X。
样本输入:
A =
[ OOOXOOO
OOXXOXO
OXOOOXO ]
输出: 2
我心中的想法是选择一个X,然后继续移动到最近的X,同时在两者之间翻转Os,直到我们连接所有X。这有什么问题吗,或者您可以提出更好的方法?
此外,这是否类似于使用Kruskal的Aglo或Prim的算法找到最小生成树?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)