2019独角兽企业重金招聘Python工程师标准>>>

463. Island Perimeter

题目链接

463. Island Perimeter

题目分析

给定一个二维数组,代表一个二维表格。
里面包含01两种数字。

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相关推荐

  1. D38 463. Island Perimeter

    463. Island Perimeter 题目链接 463. Island Perimeter 题目分析 给定一个二维数组,代表一个二维表格. 里面包含0和1两种数字. 1代表有内容,0代表没有. ...

  2. 岛屿数量JAVA_LeetCode刷题 463. Island Perimeter 岛屿的周长 Java

    LeetCode刷题 463. Island Perimeter 岛屿的周长 Java LeetCode刷题 463. Island Perimeter 岛屿的周长 Java 题目介绍 链接:http ...

  3. LeetCode 463. Island Perimeter

    题目: You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 repr ...

  4. 歪门邪道 Leetcode 463 Island Perimeter

    题目是求一个由多个边长为1的正方形连接而成的多边形的周长,一般来说,遍历整个数组,对值为1的陆地项做判断,周围有多少个水区域就加上多少边长,即对a[I][j]来说,判断a[i-1][j], a[i+1 ...

  5. Leetcode PHP题解--D62 976. Largest Perimeter Triangle

    2019独角兽企业重金招聘Python工程师标准>>> D62 976. Largest Perimeter Triangle 题目链接 976. Largest Perimeter ...

  6. 463. Island Perimeter 岛屿的周长

    给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地 ...

  7. LeetCode/LintCode 题解丨一周爆刷字符串:URL 编码

    描述 给出一个代表网址 host 的字符串 base_url,和代表查询参数的列表 query_params_list,你需要返回带查询参数的完整 URL. 查询参数列表由一些包含两个元素的数组组成, ...

  8. LeetCode/LintCode 题解丨一周爆刷双指针:最小范围

    描述 有k个升序排列的数组,寻找一个最小范围,使每个数组中至少有一个元素被包含. 范围[a,b]比范围[c,d]小,当且仅当b-a < d-c,或是a < c且b-a == d-c. 给定 ...

  9. LeetCode/LintCode 题解丨一周爆刷字符串:简化路径

    描述 给定一个文件的绝对路径(Unix-style),请进行路径简化. Unix中, . 表示当前目录, - 表示父目录. 结果必须以 / 开头,并且两个目录名之间有且只有一个 /.最后一个目录名(如 ...

最新文章

  1. CentOS SVN安装与配置 (RHEL5.4平台测试通过)
  2. java long.max_value,Long + Long不大于Long.MAX_VALUE
  3. 服务器2003光盘修复,windows光盘修复系统
  4. 中文打字速度测试软件hztest_中文打字速度测试软件官方版
  5. 利用QQ游戏破解QQ密码
  6. Python爬虫入门之查询ip地址
  7. 【冬瓜哥手绘】致敬龙芯!冬瓜哥手工设计了一个CPU译码器!
  8. PMOS NMOS电流流向及符号图
  9. HDU 4489 找出n!个全排列数中的“波浪数” dp 思维,全排列
  10. 大话循环神经网络(RNN)
  11. Allegro基本规则设置指导书之Electrical Total Etch Length
  12. 五指山(nefu 84)
  13. 数论(继续补充)(gcd + lcm + qpow + prime+qmul)
  14. pytorch 定义torch类型数据_PyTorch 使用 TorchText 进行文本分类
  15. Blood Type Diet
  16. Qt学习(6)——Q_PROPERTY宏解析
  17. 在Word中为标题样式添加自动编号功能
  18. Power BI 筛选器函数---Window实例详解
  19. c4.5决策树算法 c语言,决策树(三):C4.5算法和CART算法
  20. win11兼容性_win11系统软件兼容性测试

热门文章

  1. ECC椭圆曲线算法(1)阿贝尔群
  2. 初出茅庐-----微信好友分析与微信机器人
  3. 下面有9个点的图片。你能一笔画出4条直线连接着9个点,并且不重复任何一条线吗?
  4. Idea21.1.3版本中Scala默认设置带类型
  5. 科创人·知乎CTO李大海:技术服务内容、商业化依赖内容,曾被「呵呵」难到挠头
  6. unity图像压缩算法原理
  7. 解决jenkins发版报错:JAR will be empty - no content was marked for inclusion
  8. android 白色圆点,Android通知图标是一个白色圆圈
  9. 安卓开发视频教程!十多家大厂Android面试真题锦集干货整理,写给正在求职的安卓开发
  10. 300万数据导入导出优化方案,从80s优化到8s(实测)