- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
def getRegionSize(cell, world):
region = []
frontier = [cell]
val = world[cell[0]][cell[1]]
while(len(frontier) > 0):
item = frontier.pop()
region.append(item)
x = item[0]
y = item[1]
for i in [-1,1]:
for j in [-1,1]:
if (x+i,y+j) not in frontier and (x+i,y+j) not in region:
if not (x + i > width - 1 or x + i < 0 or y + j > height - 1 or y + i < 0) and world[x+i][y+j] == val:
frontier.append((x+i,y+j))
return len(region)
我希望我的函数能够确定连接到给定单元格的区域的大小。该函数以世界(二维二进制矩阵)和单元(世界中的(x,y)坐标)为参数,并返回与单元相连的区域的大小。
此函数的工作原理类似于洪水填充,但我只对重新着色区域的大小感兴趣,而不是重新着色区域。该功能运行良好,但速度很慢。对于大小大于 ~4000 的区域,需要几秒钟的时间才能返回。我是否做错了什么,或者对于大面积来说应该很慢?
编辑:为了清晰起见进行了编辑。
最佳答案
在:如果 (x+i,y+j) 不在边界且 (x+i,y+j) 不在区域:
,您正在测试 cell
位于 frontier
或 region
中,两者都是列表,因此搜索它们需要 O(n)。
1)您不需要检查单元格是否在边界内。只要您忽略区域中已有的单元格,您就可以根据需要多次将单元格添加到边界。
2)对region
使用更高效的数据结构,即集合。
关于Python Flood Fill - 如何优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47343495/
我需要为客户端调整 bittrex api: LIMIT_BUY 或 LIMIT_SELL(和 CANCEL)订单到目前为止有效。 但是他遇到了部分填充的问题。 api 文档。在他们的网站上没有提到这
所以我发现 color 数据类型实际上是一个 int,阅读了一些有关位移位的内容,目的是让自己成为一个类来处理这个问题。 这是基本代码(没有 getters/setters,所有内容都是 public
这个问题在这里已经有了答案: Unexpected behavior using Array Map on an Array Initialized with Array Fill [duplica
当我在 zoom to fill screen 和 stretch to fill screen 之间切换时,我的应用程序会崩溃。顺便说一下,我注意到市场上很多应用程序都有这个问题。有谁知道如何避免这
Sample Text Here Sign Up 我有上面的 HTML 部分,我正在尝试
在html中我可以设置背景图片的下面属性吗?(图片在iOS中我可以像下面这样设置图片的填充属性,但我不知道html中是否有类似的属性): Scale to Fill, Aspect Fit, Aspe
我对 HTML 上一个填充和另一个填充之间的现有空间感到困扰。每个填充物都适合倾斜的一侧。我希望完全填满这条线,但还有空间。 这是示例代码: var canvas = document.createE
考虑 pygame 循环中的这一行: pygame.display.set_mode().fill((0, 200, 255)) 发件人:http://openbookproject.net/thin
我在一个系统上观察到 std::fill在大 std::vector设置常量值 0 时明显且始终较慢与常数值 1 相比或动态值: 5.8 GiB/s 对比 7.5 GiB/s 但是,对于较小的数据大小
我正在做一个元素。在那个元素中,我需要一个 div 的渐变背景。我只需要一种颜色来填充 40px。另一种颜色填充计算(100%-40px)。我从来没有这么深入地玩过渐变。我的 40px 颜色是 rgb
我正在使用的 API 的用户注册代码一直存在问题。 我有一个 UserController,它获取发布的数据并验证字段。然后它将数据发送到我的 UserService 类中的 SignUpUser 方
Facebook AudienceNetwork 加载失败:无填充,错误消息“无填充”,FaceBook android Advertise 的原因是什么? Facebook 广告经常显示加载频率,频
我在 UITableViewCell 中使用了 UIImageView,它将填充 contentView。我尝试了不同的模式,如“缩放以填充”、“Aspect Fit”、“” Aspect Fill”
这个问题已经有答案了: Array.fill(Array) creates copies by references not by value [duplicate] (3 个回答) 已关闭 4 年前
问题 我将我的一些图像放在 /assets/images 文件夹中。然后在 layouts/_default/single.html 中,我为不同的屏幕尺寸创建了一个主图部分,如下面的代码所示。问题是
我知道有 CGContextClearRect ,尽管它可以让你清除 drawRect 类中的所有内容。我如何选择一个 CGContextRef 并清除它?对于我的情况,我的代码如下: //Put c
我有一个包含 3 列的 Tlistview,我需要来自 Tcollection 对象,如下所示 FListeDispoProduit := TListeDispoProduit.Create(TPro
有没有办法抑制babel提供的polyfill?例如,转译以下内容: const obj = { a: 1 }; const obj2 = { ...obj }; 将输出 var _extends =
如何使用 Excel 中的 VBA(所有单元格)将所有工作表填充颜色设置为无填充。与选择所有工作表相同,选择所有单元格 (Control+A) 并将填充颜色更改为无填充。 最佳答案 未经测试,但应该可
我想知道如何在数组上应用洪水填充,我的数组是二维的,其中包含 times new roman 字体类型的字母边界。边界线包含 1,内外全为 0。我只想在内部填充所有 1 而不是 0。但我需要一个不需要
我是一名优秀的程序员,十分优秀!