按行删除二进制数组中的连通组件的高效算法
创始人
2024-08-22 05:30:09
0

算法思路:

  1. 定义一个指针p指向当前行的第一个元素
  2. 对于每一行,循环扫描该行的所有元素
  3. 如果当前元素为1,则对其进行标记
  4. 若当前元素的左边或上边或右上角或左上角有被标记的1,则将当前元素也标记为1
  5. 如果当前元素和它的相邻部分已经标记为1,则将它们变成0,从而在数组中删除一个连通组件
  6. 继续扫描下一个元素

代码示例:

# 定义一个指针p指向当前行的第一个元素
p = 0
# 循环扫描每一行
for i in range(rows):
    # 循环扫描该行的所有元素
    for j in range(cols):
        # 如果当前元素为1,则对其进行标记
        if arr[i][j] == 1:
            arr[i][j] = 2
            # 如果当前元素的左边或上边或右上角或左上角有被标记的1,则将当前元素也标记为1
            if i > 0 and arr[i-1][j] > 1:
                arr[i][j] = arr[i-1][j]
            if j > 0 and arr[i][j-1] > 1:
                arr[i][j] = arr[i][j-1]
            if i > 0 and j > 0 and arr[i-1][j-1] > 1:
                arr[i][j] = arr[i-1][j-1]
            if i > 0 and j < cols - 1 and arr[i-1][j+1] > 1:
                arr[i][j] = arr[i-1][j+1]
            # 如果当前元素和它的相邻部分已经

相关内容

热门资讯

总算清楚!广东雀神挂件脚本开挂... 总算清楚!广东雀神挂件脚本开挂,新518互娱脚本下载,详细工具(有挂解密)1、任何广东雀神挂件脚本开...
玩家必用!微信广东雀神挂件辅助... 玩家必用!微信广东雀神挂件辅助,对战互娱辅助系统,详细方法(有挂技术)1、点击下载安装,微信广东雀神...
2024教程!仟众部落辅助,微... 2024教程!仟众部落辅助,微乐自建房辅助,详细攻略(有挂教程)1、该软件可以轻松地帮助玩家将微乐自...
科技新动态!打罗松必胜技巧,贪... 科技新动态!打罗松必胜技巧,贪玩互娱辅助,详细插件(证实有挂)1、打罗松必胜技巧免费脚本咨询教程、打...
每日必看!天天互娱app辅助,... 每日必看!天天互娱app辅助,微乐智能辅助app,详细挂(有挂实锤)1、进入游戏-大厅左侧-新手福利...
分享一款!雀友会广东潮汕麻雀开... 分享一款!雀友会广东潮汕麻雀开挂,天天贵阳游戏辅助,详细工具(有挂技巧)雀友会广东潮汕麻雀开挂透视方...
推荐一款!来几局是正规平台吗,... 推荐一款!来几局是正规平台吗,微乐小程序辅助器脚本,详细app(有挂秘诀)1、任何微乐小程序辅助器脚...
实测交流!福建13水源码,四川... 实测交流!福建13水源码,四川熊猫辅助,详细技巧(有挂方式)1、四川熊猫辅助破解器简单,四川熊猫辅助...
每日必看推荐!欢乐茶馆挂,微信... 每日必看推荐!欢乐茶馆挂,微信卡五星辅助器,详细挂(有挂讲解)微信卡五星辅助器辅助器是一种具有地方特...
解密关于!手游蛮王辅助,川南久... 解密关于!手游蛮王辅助,川南久久辅助,详细教程(的确有挂)1、进入游戏-大厅左侧-新手福利-激活码辅...