【发布时间】:2012-09-11 01:42:10
【问题描述】:
这是一道面试题:
对于一个矩阵,我们定义一个操作,当我们将 1 添加到一个条目时, 所有周围的条目(上、下、左、右)也将由 1. 给定一个正矩阵,找到一个算法来判断这个矩阵是否可以用这样的操作从零矩阵构造出来。
什么是解决问题的有效算法?
我目前能想到的是使用回溯来尝试所有可能的组合,但这绝对不是有效的。这个问题有点像关灯游戏,但这里不是 0/1,这会更复杂。
谢谢。
编辑:
例如:
3 3 can be constructed from 0 0 -> 1 1 -> 2 2 -> 3 3
1 2 0 0 1 0 1 1 1 2
【问题讨论】:
-
如果我点击第一个或最后一个 col/row 会发生什么:包装还是切割?
-
你的例子是不可能的:不能从零矩阵创建 1/1/1/1 ...
-
@EugenRieck 已编辑,现在这是一个可能的。尝试反向解决。
-
似乎是一个简单的动态编程挑战。
标签: algorithm