当前位置: 首页 > news >正文

[力扣题解] 463. 岛屿的周长

题目:463. 岛屿的周长

思路

深度优先搜索;

代码

Method 1

对于遍历到的一个地块,向四周探索,越界或者遇到海洋地块说明这条边需要统计;

class Solution {
private:int dir[4][2] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};int result = 0; // 周长void dfs(vector<vector<int>>& grid, vector<vector<bool>>& vistied, int x, int y){int m = grid.size(), n = grid[0].size();int i, j;int next_x, next_y;for(i = 0; i < 4; i++){next_x = x + dir[i][0];next_y = y + dir[i][1];if(next_x < 0 || next_x >= m || next_y < 0 || next_y >= n){result++;continue;}if(grid[next_x][next_y] == 0){result++;}if(!vistied[next_x][next_y] && grid[next_x][next_y] == 1){vistied[next_x][next_y] = true;dfs(grid, vistied, next_x, next_y);}}}public:int islandPerimeter(vector<vector<int>>& grid) {int m = grid.size(), n = grid[0].size();int i, j;vector<vector<bool>> vistied(m, vector<bool>(n, false));for(i = 0; i < m; i++){for(j = 0; j < n; j++){if(!vistied[i][j] && grid[i][j] == 1){vistied[i][j] = true;dfs(grid, vistied, i, j);}}}return result;}
};

Method 2

初始周长 = 岛屿地块 * 4,在岛屿内部,有一对相邻地块,周长-2

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 解释JAVA语言中关于方法的重载
  • JMeter正则表达式提取器和JSON提取器基础用法,小白必会!
  • [BT]小迪安全2023学习笔记(第29天:Web攻防-SQL注入)
  • 第一章:操作系统概述
  • CSDN 自动评论互动脚本
  • sudo apt install make;make build ;make start
  • 手撕算法|斯坦福大学教授用60页PPT搞定了八大神经网络
  • mybatis plus 配置多数据源(数据源进行切换)
  • ssm139选课排课系统的设计与开发+vue
  • Pytorch: 解决因pytorch版本不同 导致训练ckpt加载失败
  • FPGA 纯逻辑arinc818 ip core
  • 力扣-2904最短且字典序最小的美丽子序列
  • 【机器学习300问】95、什么是KNN算法?它和K-means什么关系?
  • 网络协议——有状态协议和无状态协议
  • linux下删除nginx进程
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Java多态
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • k8s如何管理Pod
  • oldjun 检测网站的经验
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • React16时代,该用什么姿势写 React ?
  • 基于HAProxy的高性能缓存服务器nuster
  • 面试总结JavaScript篇
  • 模型微调
  • 设计模式(12)迭代器模式(讲解+应用)
  • 使用agvtool更改app version/build
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 译米田引理
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 1.Ext JS 建立web开发工程
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (09)Hive——CTE 公共表达式
  • (2015)JS ES6 必知的十个 特性
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (二)pulsar安装在独立的docker中,python测试
  • (九)c52学习之旅-定时器
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一)WLAN定义和基本架构转
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (源码分析)springsecurity认证授权
  • (转)ObjectiveC 深浅拷贝学习
  • (转)人的集合论——移山之道
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .net framework profiles /.net framework 配置
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net8.0与halcon编程环境构建
  • .Net接口调试与案例