type
Post
status
Published
date
Mar 26, 2026
slug
Lc_3
summary
tags
数据结构
算法
category
数据结构与算法
icon
password
图论
M200.岛屿数量
给你一个由
1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。
示例:
核心思路
代码
M994.腐烂的橘子
在给定的
m x n 网格 grid 中,每个单元格可以有以下三个值之一:- 值
0代表空单元格;
- 值
1代表新鲜橘子;
- 值
2代表腐烂的橘子。
每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。
返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回
-1。示例:

核心思路
代码
M207.课程表
你这个学期必须选修
numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组
prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。- 例如,先修课程对
[0, 1]表示:想要学习课程0,你需要先完成课程1。
请你判断是否可能完成所有课程的学习?如果可以,返回
true ;否则,返回 false 。示例:
核心思路
代码
M208.实现Trie前缀树
Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。
请你实现 Trie 类:
Trie()初始化前缀树对象。
void insert(String word)向前缀树中插入字符串word。
boolean search(String word)如果字符串word在前缀树中,返回true(即,在检索之前已经插入);否则,返回false。
boolean startsWith(String prefix)如果之前已经插入的字符串word的前缀之一为prefix,返回true;否则,返回false。
示例:
核心思路
代码
回溯法
M46.全排列
给定一个不含重复数字的数组
nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例:
核心思路
代码
【回溯解法】
【暴力递归解法】
M78.子集
给你一个整数数组
nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例:
核心思路
代码
M17.电话号码的字母组合
给定一个仅包含数字
2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

示例:
核心思路
代码
M39.组合总和
给你一个 无重复元素 的整数数组
candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为
target 的不同组合数少于 150 个。示例:
核心思路
代码