Re: [闲聊] 每日leetcode

楼主: oinishere (是oin捏)   2024-04-19 16:26:18
※ 引述 《sustainer123 (caster)》 之铭言:
:  
: ※ 引述《Rushia (早瀬ユウカの体操服 )》之铭言:
: : https://leetcode.com/problems/number-of-islands/description
: : 200. Number of Islands
: : 给你一个二维阵列 1 表示陆地 0 表示海水,相连的陆地是一的岛屿,求出有几个岛。
: : 思路:
: : 1.找到 grid[i][j] == 1 的格子就把岛屿数量+1,并以该点为中心 dfs 附近相邻的陆

: : 标记为已经走过。
: : 2.返回岛屿数量。
到处走 到处改成0
cpp的code写起来感觉蛮整齐的欸
class Solution {
public:
int island;
void walk(vector<vector<char>>& grid , int i , int j)
{
grid[i][j] = '0';
if(i>0)
{
if(grid[i-1][j] == '1')
{
walk(grid , i-1 , j);
}
}
if(j>0)
{
if(grid[i][j-1] == '1')
{
walk(grid , i , j-1);
}
}
if(i<grid.size()-1)
{
if(grid[i+1][j] == '1')
{
walk(grid , i+1 , j);
}
}
if(j<grid[0].size()-1)
{
if(grid[i][j+1] == '1')
{
walk(grid , i , j+1);
}
}
}
int numIslands(vector<vector<char>>& grid)
{
island = 0;
for(int a = 0 ; a < grid.size() ; a ++)
{
for(int b = 0 ; b < grid[0].size() ; b ++)
{
if(grid[a][b] == '1')
{
island++;
walk(grid,a,b);
}
}
}
return island;
}
};
作者: jensheng09 (甲甲都从后面来)   2023-04-19 16:26:00
你到底有没有拍裸照给阿消
作者: JIWP (JIWP)   2024-04-19 16:28:00
大师 教我
作者: sustainer123 (caster)   2024-04-19 16:30:00
大师 救我
楼主: oinishere (是oin捏)   2024-04-19 16:31:00
你们两个韧体600万 咕咕噜外商 在这里跟大一的叫什么
作者: DJYOSHITAKA (Evans)   2024-04-19 16:38:00
别卷了
作者: SecondRun (雨夜琴声)   2024-04-19 16:53:00
大师 教我

Links booklink

Contact Us: admin [ a t ] ucptt.com