LeetCode463. Island Perimeter

文章目录

    • 一、题目
    • 二、题解

一、题目

You are given row x col grid representing a map where grid[i][j] = 1 represents land and grid[i][j] = 0 represents water.

Grid cells are connected horizontally/vertically (not diagonally). The grid is completely surrounded by water, and there is exactly one island (i.e., one or more connected land cells).

The island doesn’t have “lakes”, meaning the water inside isn’t connected to the water around the island. One cell is a square with side length 1. The grid is rectangular, width and height don’t exceed 100. Determine the perimeter of the island.

Example 1:

Input: grid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]]
Output: 16
Explanation: The perimeter is the 16 yellow stripes in the image above.
Example 2:

Input: grid = [[1]]
Output: 4
Example 3:

Input: grid = [[1,0]]
Output: 4

Constraints:

row == grid.length
col == grid[i].length
1 <= row, col <= 100
grid[i][j] is 0 or 1.
There is exactly one island in grid.

二、题解

遍历所有值为1的节点,若周围节点是水或边界,则周长+1。

class Solution {
public:int islandPerimeter(vector<vector<int>>& grid) {int dirs[4][2] = {1,0,0,1,-1,0,0,-1};int m = grid.size(),n = grid[0].size();int res = 0;for(int i = 0;i < m;i++){for(int j = 0;j < n;j++){if(grid[i][j] == 1){for(int k = 0;k < 4;k++){int x = i + dirs[k][0];int y = j + dirs[k][1];if(x < 0 || x >= m || y < 0 || y >= n || grid[x][y] == 0) res++;}   }}}return res;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Springboot的秒杀系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的秒杀系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xf…

Inno Setup使用

功能需要&#xff0c;出一个安装包并写入相关的注册表&#xff0c;在此整理了注册表启动项相关的参考文档。多个资料整合在了一起。 [Registry] Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#M…

【开源】基于Vue和SpringBoot的音乐偏好度推荐系统

项目编号&#xff1a; S 012 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S012&#xff0c;文末获取源码。} 项目编号&#xff1a;S012&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1…

RabbitMQ避免重复消费

在Java中&#xff0c;可以使用消息队列来实现消息的异步处理&#xff0c;其中常用的消息队列有 RabbitMQ、ActiveMQ、Kafka 等。 什么是幂等性&#xff1f; 幂等性是指无论操作执行多少次&#xff0c;都是得到相同的结果&#xff0c;而不会产生其他副作用。 在rabbitMQ中 什…

easyrecovery2024最新破解版激活密钥

平时很多人都会把自己工作时&#xff0c;或者生活中的数据存储在我们的电脑上&#xff0c;很多时候&#xff0c;由于我们的误操作或者是其它某些问题&#xff0c;很容易就会误删除一些文件数据了&#xff0c;尤其是一些电脑出现故障&#xff0c;总是会导致数据丢失&#xff0c;…

算法leetcode|91. 解码方法(rust重拳出击)

文章目录 91. 解码方法&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 91. 解码方法&#xff1a; 一条包含字母 A-Z…

JS:颜色十六进制,rgb转换

重点解析&#xff1a; 1.前端开发中颜色值有三种表现形式&#xff1a;rgb&#xff0c;十六进制和rgba。rbg具体形式为rgb(r,g,b)&#xff0c;r g b的取值范围都在0-255&#xff0c;为十进制&#xff1b;rgba具体形式为rgba(r,g,b,a)&#xff0c;和rgb相比多了参数a&#xff0c…

linux 内核regulator

问题 在sys文件系统下没有生成cpu 调频的相关节点。 日志对比 [ 3.588745] cpu cpu4: Looking up cpu-supply from device tree [ 3.588753] cpu cpu4: Failed to get reg [ 3.588791] cpu cpu4: Looking up cpu-supply from device tree [ 3.588808] Failed to i…

智能优化算法应用:基于和声算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于和声算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于和声算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.和声算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

外贸建站是WP还是CMS?海洋建站教程指南?

外贸建站选WP还是CMS系统&#xff1f;外贸企业网站建站怎么做&#xff1f; 随着全球化的不断发展&#xff0c;越来越多的企业开始拓展海外市场&#xff0c;外贸建站成为了这些企业的必备项目。然而&#xff0c;选择使用哪种建站系统却是一个让人头疼的问题。那么&#xff0c;海…

ElementUI+vue+nodejs培训学校课程预约网站的设计与开发

该系统将采用B/S结构模式&#xff0c;前端部分主要使用html、css、JavaScript等技术&#xff0c;使用Vue和ElementUI框架搭建前端页面&#xff0c;后端部分将使用Nodejs来搭建服务器&#xff0c;并使用MySQL建立后台数据系统&#xff0c;通过axios完成前后端的交互&#xff0c;…

oops-framework框架 之 界面管理(三)

引擎&#xff1a; CocosCreator 3.8.0 环境&#xff1a; Mac Gitee: oops-game-kit 注&#xff1a; 作者dgflash的oops-framework框架QQ群&#xff1a; 628575875 回顾 在上文中主要通过oops-game-kit大家了一个新的模版项目&#xff0c; 主要注意项是resources目录下的两个文…

如何在安卓Termux中使用SFTP文件传输并结合内网穿透工具实现远程传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…

Jmeter的安装配置,性能测试编写

1、jmeter介绍 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言&#xff0c;JMeter小巧轻便且免费&#xff0c;逐渐成为了主流的性能测试工具&#xff0c;是每个测试人员都必须要掌握的工具之一。 运行环境为Windows 10系统&#xff0c…

读书笔记:彼得·德鲁克《认识管理》第36章 以成果为中心的设计和以关系为中心的设计

一、章节内容概述 两种分权制组织(联邦分权制和模拟分权制)都围绕成果进行组织。系统制则围绕关系进行组织。在所有已知的组织设计原则中&#xff0c;联邦分权制最接近于满足组织设计的所有基本规范要求&#xff0c;但其适用性受到严格限制&#xff0c;要发挥作用就必须满足若…

AI创作ChatGPT网站系统源码保姆级搭建部署教程+支持GPT-4图片对话能力

一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…

数据结构与算法-动态查找表

查找 &#x1f388;3动态查找表&#x1f52d;3.1二叉排序树&#x1f3c6;3.1.1二叉排序树的类定义&#x1f3c6;3.1.2二叉排序树的插入和生成&#x1f3c6;3.1.3二叉树的查找&#x1f3c6;3.1.4二叉排序树的删除 &#x1f52d;3.2平衡二叉树&#x1f3c6;3.2.1平衡二叉树的调整…

基于粒子群算法思想的电动汽车充放电策略-V2G模型-程序代码!

电动汽车充放电对电网的安全稳定带来影响&#xff0c;合理规划电动汽车充放电时间和策略是目前的研究热点。本程序仿真了汽车有序充电和无需充电两种案例&#xff0c;利用电动汽车合理消纳新能源电量&#xff0c;利用粒子群算法思想来求解模型&#xff0c;程序中案例丰富&#…

c++模板集合

模板目录 小技巧数据结构区间操作树上操作可并堆平衡树图论相关可持久化 图论树论二分图最短路最小生成树网络流其他 DP字符串字符串匹配其他 数学数论技巧进制其他 洛谷原版 \rule{120pt}{30pt}\kern{-85pt}\color{white}\raisebox{12pt}{\sf 洛谷原版} 洛谷原版 小技巧 卡常…

使用ESP8266驱动TFT显示屏

使用ESP8266驱动TFT显示屏_esp8266驱动tft屏幕-CSDN博客