Leetcode PHP题解--D38 463. Island Perimeter
2019独角兽企业重金招聘Python工程师标准>>>
463. Island Perimeter
题目链接
463. Island Perimeter
题目分析
给定一个二维数组,代表一个二维表格。
里面包含0
和1
两种数字。
1代表有内容,0代表没有。
计算有内容的格子的周长。
思路
最简单的办法是,判断当前格子是否位1,且上下左右是否为0。
当任意一个方向有0时,那个方向计算有一个边长。
当都为0时,即当前位置是单独的一个格子,算上下左右共4条边。
最终代码
<?php
class Solution {function islandPerimeter($grid) {$edges = 0;$width = count($grid[0]);$height = count($grid);foreach($grid as $y=>$row){foreach($row as $x=>$col){if($col==0){continue;}if(!isset($grid[$y][$x+1])||$grid[$y][$x+1]==0){$edges++;}if(!isset($grid[$y][$x-1])||$grid[$y][$x-1]==0){$edges++;}if(!isset($grid[$y+1][$x])||$grid[$y+1][$x]==0){$edges++;}if(!isset($grid[$y-1][$x])||$grid[$y-1][$x]==0){$edges++;}}}return $edges;}
}
若觉得本文章对你有用,欢迎用爱发电资助。
转载于:https://my.oschina.net/u/2246923/blog/3039909
Leetcode PHP题解--D38 463. Island Perimeter相关推荐
- D38 463. Island Perimeter
463. Island Perimeter 题目链接 463. Island Perimeter 题目分析 给定一个二维数组,代表一个二维表格. 里面包含0和1两种数字. 1代表有内容,0代表没有. ...
- 岛屿数量JAVA_LeetCode刷题 463. Island Perimeter 岛屿的周长 Java
LeetCode刷题 463. Island Perimeter 岛屿的周长 Java LeetCode刷题 463. Island Perimeter 岛屿的周长 Java 题目介绍 链接:http ...
- LeetCode 463. Island Perimeter
题目: You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 repr ...
- 歪门邪道 Leetcode 463 Island Perimeter
题目是求一个由多个边长为1的正方形连接而成的多边形的周长,一般来说,遍历整个数组,对值为1的陆地项做判断,周围有多少个水区域就加上多少边长,即对a[I][j]来说,判断a[i-1][j], a[i+1 ...
- Leetcode PHP题解--D62 976. Largest Perimeter Triangle
2019独角兽企业重金招聘Python工程师标准>>> D62 976. Largest Perimeter Triangle 题目链接 976. Largest Perimeter ...
- 463. Island Perimeter 岛屿的周长
给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:URL 编码
描述 给出一个代表网址 host 的字符串 base_url,和代表查询参数的列表 query_params_list,你需要返回带查询参数的完整 URL. 查询参数列表由一些包含两个元素的数组组成, ...
- LeetCode/LintCode 题解丨一周爆刷双指针:最小范围
描述 有k个升序排列的数组,寻找一个最小范围,使每个数组中至少有一个元素被包含. 范围[a,b]比范围[c,d]小,当且仅当b-a < d-c,或是a < c且b-a == d-c. 给定 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:简化路径
描述 给定一个文件的绝对路径(Unix-style),请进行路径简化. Unix中, . 表示当前目录, - 表示父目录. 结果必须以 / 开头,并且两个目录名之间有且只有一个 /.最后一个目录名(如 ...
最新文章
- CentOS SVN安装与配置 (RHEL5.4平台测试通过)
- java long.max_value,Long + Long不大于Long.MAX_VALUE
- 服务器2003光盘修复,windows光盘修复系统
- 中文打字速度测试软件hztest_中文打字速度测试软件官方版
- 利用QQ游戏破解QQ密码
- Python爬虫入门之查询ip地址
- 【冬瓜哥手绘】致敬龙芯!冬瓜哥手工设计了一个CPU译码器!
- PMOS NMOS电流流向及符号图
- HDU 4489 找出n!个全排列数中的“波浪数” dp 思维,全排列
- 大话循环神经网络(RNN)
- Allegro基本规则设置指导书之Electrical Total Etch Length
- 五指山(nefu 84)
- 数论(继续补充)(gcd + lcm + qpow + prime+qmul)
- pytorch 定义torch类型数据_PyTorch 使用 TorchText 进行文本分类
- Blood Type Diet
- Qt学习(6)——Q_PROPERTY宏解析
- 在Word中为标题样式添加自动编号功能
- Power BI 筛选器函数---Window实例详解
- c4.5决策树算法 c语言,决策树(三):C4.5算法和CART算法
- win11兼容性_win11系统软件兼容性测试
热门文章
- ECC椭圆曲线算法(1)阿贝尔群
- 初出茅庐-----微信好友分析与微信机器人
- 下面有9个点的图片。你能一笔画出4条直线连接着9个点,并且不重复任何一条线吗?
- Idea21.1.3版本中Scala默认设置带类型
- 科创人·知乎CTO李大海:技术服务内容、商业化依赖内容,曾被「呵呵」难到挠头
- unity图像压缩算法原理
- 解决jenkins发版报错:JAR will be empty - no content was marked for inclusion
- android 白色圆点,Android通知图标是一个白色圆圈
- 安卓开发视频教程!十多家大厂Android面试真题锦集干货整理,写给正在求职的安卓开发
- 300万数据导入导出优化方案,从80s优化到8s(实测)