- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
识别完全被 1 包围的 0(不需要对角线覆盖)。在下面的示例中,大小应为 3。
二维数组中可能有任意数量的“孔”。
[[1,0,1,1],
[1,1,1,1],
[1,0,0,1],
[1,0,1,1],
[1,1,1,0]]
注意:我在这里看到问题:Finding holes in 2d point sets? ,但我对那里的答案不是很满意。
最佳答案
您的“孔”实际上是由网格形成的图形中零的连接分量。每个元素都有四个邻居。查找 connected components与 BFS或 DFS ,选择最大的一个,或者将它们相加。该算法在 O(N)
中运行,其中 N
是矩阵中元素的数量。
您还可以使用更具体的 labeling algorithm ,适用于这些类型的图表,通常出现在图像中。标签还将为您枚举所有连接的组件。
如果你对连接的组件不感兴趣,那些没有完全被组件包围的组件,就像这样:
[[1,0,1,1],
[1,1,1,1],
[1,0,0,1],
[0,0,1,1], // <-- Note zero in the beginning
[1,1,1,0]]
您可以使用零边界扩展您的矩阵,如下所示:
[[0,0,0,0,0,0]
[0,1,0,1,1,0],
[0,1,1,1,1,0],
[0,1,0,0,1,0],
[0,0,0,1,1,0],
[0,1,1,1,0,0],
[0,0,0,0,0,0]]
然后忽略外层连通分量。在这个例子中,没有更多的组件,所以答案是零。
关于algorithm - 给定一个二维数组,找到 "holes",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25029990/
我最近继承了一个数据库,其中一个表的主键由编码值 (Part1*1000 + Part2) 组成。 我对该列进行了标准化,但无法更改旧值。 所以现在我有 select ID from table or
有没有人有一个使用 Delaunay 填充网格的直接 Delphi 示例三角形还是克里格法?任何一种方法都可以通过“插值”来填充网格。 我想做什么?我有一个网格,类似于: 22 23 xx 17
如果满足条件,我需要从数组中删除一些对象。 从数组中删除对象后,我需要数组没有“空洞”,这意味着我需要缩小数组:不是数组大小,而是减少它包含的对象数量。 删除对象后如果数组末尾有空值也没关系。 哪个效
我有一个像这样的二维数组(它代表一个时间表): alt text http://www.shrani.si/f/28/L6/37YvFye/timetable.png 橙色单元格是讲座,白色单元格是空
我正在创建一个包含 2 层的页面:一个图像层和一个位于其顶部的半透明“ mask ”层。我想在该蒙版中动态放置一个小矩形“孔”,以便可以在该区域看到其下方的原始图像。 这可能吗? 最终目的 a 是创建
我有一个姓名和电话号码列表,如下所示: var phonelist = List { new string[] {"Bill", "1234", "12345", "12314" },
我有星系的照片图像。这些图像上有一些不需要的数据(如星星或飞机条纹)被屏蔽掉了。我不只是想用一些平均值填充屏蔽区域,而是根据周围的数据对它们进行插值。我如何在 python 中做到这一点? 我们尝试了
我正在尝试使用 SVG 路径元素来定义带有“孔”的区域。我想使用这些区域来突出显示图像中的某些文字。 我的目标是展示使用 OCR ( Google Cloud Vision API) 从图像中提取文本
给出下表: create table #Track (id int identity, vehicle int, station varchar(50), pieces int, distance i
假设您有一组日期范围 var arr = [ { "from": 'unix 1st of august', "until": 'unix 5th of august' },
这是我的 code : HTML text under link! CSS .myDiv { position:relative;
我正在研究以下CodeChef question : Chef wrote some text on a piece of paper and now he wants to know how man
识别完全被 1 包围的 0(不需要对角线覆盖)。在下面的示例中,大小应为 3。 二维数组中可能有任意数量的“孔”。 [[1,0,1,1], [1,1,1,1], [1,0,0,1], [1,0,
考虑一个 MxN 位图,其中单元格为 0 或 1。“1”表示填充,“0”表示空。 找出位图中“孔”的数量,其中孔是空白单元格的连续区域。 例如,这有两个洞: 11111 10101 10101
我将如何着手在 Windows 窗体中创建一个动态“孔”,用户可以通过它看到实际的桌面而不是窗体?现在,我已经在整个屏幕的顶部创建了一个半透明窗体,我希望透过该半透明窗体进行查看。 最佳答案 使用表单
我已经阅读了一些关于此的帖子,但没有一篇涉及此问题。 我想这是不可能的,但我还是会问。 我有一个包含 50.000 多个寄存器的表。这是一张旧表,其中发生了各种插入/删除操作。 也就是说,大约 300
首先:我知道,这个问题在这里已经有很多答案了,但是他们并没有帮助我解决这个问题。 我编写了一个小游戏。在第一次发布时有一个小教程,其中一点一点地解释了游戏的每个元素。在每一步中,我都想强调这些元素之一
谁能告诉我为什么我的网格布局中可能会有看似随机的“漏洞”?我正在使用 Zurb Foundation。 尽管这是一个基本的网格布局,但有些列会无缘无故地向右浮动。看起来好像偶尔缺少一篇文章,但如果您查
有没有一种方法可以提取或显示孔洞,同时丢弃外部轮廓? 我可以使用 CV_RETR_EXTERNAL 仅显示外部轮廓,但似乎无法仅显示内部轮廓(孔)。 最佳答案 你可以在 C 接口(interface)
当我删除时,例如,id 3,我有这个: id | name 1 | 2 | 4 | 5 | ... 现在,我想搜索丢失的 ID,因为我想用以下内容再次填充 ID: INSERT INT
我是一名优秀的程序员,十分优秀!