文档章节

the Moore neighborhood

ricardohn
 ricardohn
发布于 2016/05/10 09:52
字数 181
阅读 8
收藏 0
点赞 2
评论 0

求矩阵中任一点邻居为1 的数量:

def count_neighbours(grid, row, col):
    NEIGHBORS = ((-1, -1), (-1, 0), (-1, 1), (0, -1),
              (0, 1), (1, -1), (1, 0), (1, 1))
    count = 0
    for diff in NEIGHBORS:
        n_row = row + diff[0]
        n_col = col + diff[1]
        if 0<=n_row<len(grid) and 0<=n_col<len(grid[0]):
            if grid[n_row][n_col]:
                count+=1
    return count

if __name__ == '__main__':
    #These "asserts" using only for self-checking and not necessary for auto-testing
    assert count_neighbours(((1, 0, 0, 1, 0),
                             (0, 1, 0, 0, 0),
                             (0, 0, 1, 0, 1),
                             (1, 0, 0, 0, 0),
                             (0, 0, 1, 0, 0),), 1, 2) == 3, "1st example"
    assert count_neighbours(((1, 0, 0, 1, 0),
                             (0, 1, 0, 0, 0),
                             (0, 0, 1, 0, 1),
                             (1, 0, 0, 0, 0),
                             (0, 0, 1, 0, 0),), 0, 0) == 1, "2nd example"
    assert count_neighbours(((1, 1, 1),
                             (1, 1, 1),
                             (1, 1, 1),), 0, 2) == 3, "Dense corner"
    assert count_neighbours(((0, 0, 0),
                             (0, 1, 0),
                             (0, 0, 0),), 1, 1) == 0, "Single"

 

© 著作权归作者所有

共有 人打赏支持
ricardohn
粉丝 1
博文 76
码字总数 30236
作品 0
成都
verilog使用Mealy电路实现交通灯

Mealy电路实现十字路口交通灯 使用Verilog语言完成十字路口交通灯的设计与实现。用2个手拨开关表示南北向和东西向通道的状态,6个led灯从左到右依次显示A路口红灯,A路口黄灯,A路口绿灯,B...

__August__ ⋅ 2015/04/28 ⋅ 0

PING 遍整个互联网,PING 出一堆问题

安全公司Rapid7的HD Moore最近有了一项新爱好。他在家搭设了服务器群把全球所有的联网设备都ping了一遍,每天每台设备大概被ping了三次。由于担心设备发热过大引起家里着火,他还部署了许多制...

oschina ⋅ 2013/04/26 ⋅ 41

verilog使用Moore电路实现交通灯

问题描述 十字路口南北方向(B)有一组红绿灯,十字路口东西方向(A)有一组红绿灯。 TA,TB分别表示A,B走向是否有学生出现(为True时有学生)。通过当前两组红绿灯的状态和每5秒侦测到的T...

__August__ ⋅ 2015/04/28 ⋅ 0

统计表A中每一条数据,被表B中多少条数据,并将统计结果和表A的数据一同输出

现在有一个小区表 neighborhood,一个用户表 member 每个用户可以关注一个小区 ,现在在查询小区表的时候,我想顺便统计一下每个小区被多少个用户关注,并将结果作为一列和neighborhood一起输...

OSC_代码审查官 ⋅ 2014/04/29 ⋅ 4

为什么 GNU grep 如此之快?

编注:这是GNU grep的原作者Mike Haertel 在FreeBSD邮件列表中对 “GNU grep为什么比BSD grep要快” 所做的回答,下面是邮件正文内容: Gabor 您好, 我是GNU grep的原作者,同时也是一名Fre...

oschina ⋅ 2013/12/05 ⋅ 31

基于R语言实现的交通时空大数据处理

基于R语言实现的交通时空大数据处理 Import public NYC taxi and Uber trip data into PostgreSQL / PostGIS database, analyze with R 链接:https://github.com/toddwschneider/nyc-taxi-......

geowangsh ⋅ 2016/02/22 ⋅ 0

Apache Allura 1.7.0 发布,基于 Web 的软件开发协作平台

Apache Allura 1.7.0 已发布,新版支持高清的项目 logo,并通过使用 wiki 页面为"neighborhood"着陆页提供更好的内容控制。部分更新如下: 新功能 [#8143] Support hi-res logos Adds abilit...

局长 ⋅ 2017/06/29 ⋅ 0

OSVDB 创始人:开源漏洞数据库现在为何关闭了?

开源漏洞数据库OSVDB是一个建立于2002年的独立安全漏洞信息的开放平台,研究者可以不受大型企业软件公司的监督自主进行安全信息的交流。 开源漏洞数据库关闭了 本周二,OSVDB博客宣布这个经营...

oschina ⋅ 2016/04/11 ⋅ 0

关于IoC的绝妙比喻

A girl wants to kiss a boy. The girl's name is Daisy Anne O'Leary (DAO). She has red hair. The boy's name Ed (it's my example), he has a swimming pool (filled with database conn......

晨曦之光 ⋅ 2012/03/09 ⋅ 0

snort 中的Boyer-Moore

声明 snort中的字串查找,以下代码出自snort-2.9.6.0。是snort中用于字串匹配的底层接口。主要是参考了Boyer-Moore算法进行实现的. 关于Boyer-Moore的文章可以参考: http://my.oschina.net/u...

面码 ⋅ 2014/07/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 32分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 35分钟前 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 45分钟前 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 46分钟前 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部