C语言 | Leetcode C语言题解之第463题岛屿的周长

news/2024/10/8 7:16:33 标签: C语言, Leetcode, 题解

题目:

题解

const int dx[4] = {0, 1, 0, -1};
const int dy[4] = {1, 0, -1, 0};

int dfs(int x, int y, int** grid, int n, int m) {
    if (x < 0 || x >= n || y < 0 || y >= m || grid[x][y] == 0) {
        return 1;
    }
    if (grid[x][y] == 2) {
        return 0;
    }
    grid[x][y] = 2;
    int res = 0;
    for (int i = 0; i < 4; ++i) {
        int tx = x + dx[i];
        int ty = y + dy[i];
        res += dfs(tx, ty, grid, n, m);
    }
    return res;
}

int islandPerimeter(int** grid, int gridSize, int* gridColSize) {
    int n = gridSize, m = gridColSize[0];
    int ans = 0;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            if (grid[i][j] == 1) {
                ans += dfs(i, j, grid, n, m);
            }
        }
    }
    return ans;
}

http://www.niftyadmin.cn/n/5693763.html

相关文章

TCP与UDP协议(三次握手四次挥手)

TCP与UDP 简介TCP和UDP一、TCP1.1 TCP的三次握手问题来了&#xff1a;为啥是三次握手而不是两次呢&#xff1f; 1.2建立连接后的通信过程&#xff08;丢包与乱序问题&#xff09;1.3四次挥手问题来了&#xff1a;为什么要四次挥手&#xff1f; 二、UDP 简介TCP和UDP TCP、UDP都…

C++版iwanna1

第一篇目录 开头程序Game.cpp源文件Player.h头文件Player.cpp源文件trigger.h头文件trigger.cpp源文件Cmp.h头文件Cmp.cpp源文件 开头 大家好&#xff0c;我叫这是我58。 程序 Game.cpp源文件 #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <c…

《重生到现代之从零开始的数据结构生活》—— 复杂度

前言 进入代码世界已经有一阵了&#xff0c;C语言学的差不多了打算看看数据结构 以前都没想过我能学到这嘞哈哈哈哈 所以&#xff0c;《重生到现代之从零开始的数据结构生活》开始啦 数据结构 我们天天说数据结构怎么怎么了&#xff0c;那什么是数据结构你知道吗 数据结构…

[C++] 小游戏 征伐 SLG DNF 0.0.2 版本 zty出品

目录 大家好~ 今天zty带来的是 War and Expedition SLG DNF 0.0.2 version 讲人话就是 War and Expedition &#xff08;游戏名&#xff0c;即征伐&#xff09; SLG &#xff08;即时战略类游戏&#xff09; DNF &#xff08;Did Not Finish&#xff09; 0.0.2 &#xff…

利用Python输入n个用空格分隔的整数 ← list(map(int,input().split()))

在算法设计中&#xff0c;经常需要输入 n 个用空格分隔的整数。现对其 Python 代码进行总结&#xff1a; ● 当 n1 时&#xff1a; xint(input()) print(x) ● 当 n2 时&#xff1a; x,ymap(int,input().split()) #Enter numbers separated by space sumxy print(sum) in: 1…

【Docker】04-Docker部署Java后端

1. 运行MySQL镜像 hm.cnf [client] default_character_setutf8mb4 [mysql] default_character_setutf8mb4 [mysqld] character_set_serverutf8mb4 collation_serverutf8mb4_unicode_ci init_connectSET NAMES utf8mb4运行MySQL镜像 docker run -d --name mysql -p 3307:3306…

swift使用internvl2微调ocr文字检测(目标检测)

详细记录swfit微调interVL2-8B多模态大模型进行目标检测(附代码)-CSDN博客文章浏览阅读2k次,点赞45次,收藏14次。目标检测任务已经不是一个新鲜事了,但是多模态大模型作目标检测任务并不多见,本文详细记录swfit微调interVL2-8B多模态大模型进行目标检测的过程,旨在让更多…

Notepad++ 怎么让行行之间只保留一空行

在 Notepad 中&#xff0c;您可以使用正则表达式查找和替换功能来实现您的需求。以下是步骤和相应的正则表达式&#xff1a; 一、打开您的文本文件。 二、按下 Ctrl H 快捷键打开查找和替换对话框。 三、在“查找模式”部分&#xff0c;选择“正则表达式”选项。 四、输入…