Algorithm 连接性通常使用什么定义

Algorithm 连接性通常使用什么定义,algorithm,Algorithm,我正在练习面试,在Glassdoor上发现了以下问题 Given a board with black (1) and white (0), black are all connected. find the min rectangle that contains all black. An example given is 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 这个问题挑战了我对连通性的理解,下面矩阵中的1会被认为是相互连

我正在练习面试,在Glassdoor上发现了以下问题

Given a board with black (1) and white (0), black are all connected. find the min rectangle that contains all black. An example given is
0 0 0 0 0 
0 1 1 1 0 
0 1 1 0 0 
0 1 0 0 0 
0 0 0 0 0
这个问题挑战了我对连通性的理解,下面矩阵中的1会被认为是相互连通的吗

0 0 0 0 0 
0 1 0 1 0 
0 1 0 1 0 
0 1 1 1 0 
0 0 0 0 0

默认情况下我应该考虑8-连通性吗?

默认情况下我应该考虑8-连通性吗?

否,连接可以以两种方式定义,4连接和8连接,并且没有连接的默认定义。此外,面试问题大多被低估了,所以你必须向面试官澄清,以防含糊不清


找到包含所有黑色的最小矩形。

您可以将所有的子矩形替换为-无穷大,然后使用Kadane的2D数组算法查找具有最大和的子矩形。在应用kadane之前,您还必须将0替换为1。用于实现


请注意,无论黑色是否都是连接的,查找包含所有0的最大子矩形的算法都是相同的。

这并没有回答OP的问题,但我认为这很有趣

读者解决采访问题的第一个想法是找到一个边缘与轴线对齐的矩形。请注意,“最小矩形”可以是使其面积最小化的矩形,它不需要与轴对齐,可以旋转。例如:

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
4x4对齐的矩形将包含所有的1,但对角线~4x1矩形也包含,并且更小


这些情况需要算法或类似算法。

连通性是可传递的。如果A连接到B,B连接到C,那么A连接到C。对不起,我不能理解你的问题。面试问题与人际关系有什么关系?如果这与它无关,为什么要把它提出来?“找到包含所有黑色的最小矩形。”你不需要Kadane(事实上,它甚至没有给你一个最小面积的解决方案),只要找到任何黑色单元格的最小X,最小mm Y,最大X和最大Y。是的,这是巨大的过度杀伤力。但我认为这是一个冷静的问题,我们已经解决了以前。(并且可能已经实现)好的,但是您需要弄清楚如何修改它,以便在出现领带的情况下最小化矩形区域。。。该问题的简单解决方案是一个两行程序,该问题要求最大化包含所有0的子矩形的面积。卡丹的算法很容易做到这一点。你能告诉我你指的是哪两行程序吗?我只能在谷歌上搜索对不起什么?问题在哪里?我看不出有人提到那件事