Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么是在2d矩阵中快速求X乘Y零的算法?_C#_Algorithm_Search - Fatal编程技术网

C# 什么是在2d矩阵中快速求X乘Y零的算法?

C# 什么是在2d矩阵中快速求X乘Y零的算法?,c#,algorithm,search,C#,Algorithm,Search,我正在寻找一种算法,可以快速找到矩阵中长度不小于X和Y的随机数字0-9的0矩形 我自己只是扫描0,看看是否有一个相邻的矩形,如果没有,继续。它相当慢,所以可能有更快的方法。创建一个与原始表大小相同的表。垂直扫掠原始数据,并计算当前字段上方(包括当前字段)的连续零数,将其写入新表中 水平扫描原始表格计算当前字段左侧(包括当前字段)的连续零数。然后,对于每个字段,这两个数字告诉您以该字段结尾的矩形的大小 解决方案的其余部分取决于您未指定的部分问题。也许只要它们足够大,您就可以简单地输出它们,也许您需

我正在寻找一种算法,可以快速找到矩阵中长度不小于X和Y的随机数字0-9的
0
矩形


我自己只是扫描0,看看是否有一个相邻的矩形,如果没有,继续。它相当慢,所以可能有更快的方法。

创建一个与原始表大小相同的表。垂直扫掠原始数据,并计算当前字段上方(包括当前字段)的连续零数,将其写入新表中

水平扫描原始表格计算当前字段左侧(包括当前字段)的连续零数。然后,对于每个字段,这两个数字告诉您以该字段结尾的矩形的大小


解决方案的其余部分取决于您未指定的部分问题。也许只要它们足够大,您就可以简单地输出它们,也许您需要添加一些测试来检查您是否位于矩形的右下角。

矩形是否应该用零“填充”?是的,绝对可以。矩形必须只由零组成。你能发布你的算法吗,因为我不理解你的解释。我们谈论的矩阵有多大?如果你包括你的代码,这可能也与你的算法有关。在任何情况下,您都需要包含一个样本矩阵。因此,应该有一个新的点数组,其大小与原始矩阵相同,每个点的坐标在其上方和左侧保持零填充字段的大小(点)?@user1306322是的,这是一种方法。通过在第二次扫描期间直接检查输出条件,您可能可以忽略第二个表。似乎您的方法是错误的,例如,[10;0 0],您的方法将使用2x2矩阵输出错误的答案,对吗?@shilk我看不出问题所在。该算法将告诉您,(1,0)处有一个1x1矩形,这是正确的。@CodesInChaos抱歉,我之前的注释不完整,我已对其进行了编辑。