LC 93. 复原 IP 地址 题目描述这是 LeetCode 上的 93. 复原 IP 地址 ,难度为 中等。 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245" 2023-11-09 DFS 回溯算法
LC 2258. 逃离火灾 题目描述这是 LeetCode 上的 2258. 逃离火灾 ,难度为 困难。 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid,它表示一个网格图。 每个格子为下面 $3$ 个值之一: 0 表示草地。 1 表示着火的格子。 2 表示一座墙,你跟火都不能通过这个格子。 一开始你在最左上角的格子 $(0, 0)$ ,你想要到达最右下角的安全屋格子 $(m - 1, n - 1)$ 2023-11-09 二分 多源 BFS 预处理
LC 2609. 最长平衡子字符串 题目描述这是 LeetCode 上的 2609. 最长平衡子字符串 ,难度为 简单。 给你一个仅由 0 和 1 组成的二进制字符串 s 。 如果子字符串中 所有的 0 都在 1 之前 且其中 0 的数量等于 1 的数量,则认为 s 的这个子字符串是平衡子字符串。 请注意,空子字符串也视作平衡子字符串。 返回 s 中最长的平衡子字符串长度。 子字符串是字符串中的一个连续字符序列。 示例 1: 2023-11-08 模拟
LC 2586. 统计范围内的元音字符串数 题目描述这是 LeetCode 上的 2586. 统计范围内的元音字符串数 ,难度为 简单。 给你一个下标从 $0$ 开始的字符串数组 words 和两个整数:left 和 right。 如果字符串以元音字母开头并以元音字母结尾,那么该字符串就是一个 元音字符串 ,其中元音字母是 'a'、'e'、'i'、'o'、'u' 2023-11-07 模拟
LC 2876. 有向图访问计数 题目描述这是 LeetCode 上的 2876. 有向图访问计数 ,难度为 困难。 现有一个有向图,其中包含 n 个节点,节点编号从 0 到 n - 1。此外,该图还包含了 n 条有向边。 给你一个下标从 0 开始的数组 edges,其中 edges[i] 表示存在一条从节点 i 到节点 edges[i] 的边。 想象在图上发生以下过程: 你从节点 x 开始,通过边访问其他节点,直到你在 此过程 2023-11-04 BFS 图 拓扑排序 基环森林 内向基环树
LC 199. 二叉树的右视图 题目描述这是 LeetCode 上的 199. 二叉树的右视图 ,难度为 中等。 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1:123输入: [1,2,3,null,5,null,4]输出: [1,3,4]示例 2:123输入: [1,null,3]输出: [1,3]示例 3:123输入: []输出: [] 提示: 二叉 2023-11-03 DFS BFS 二叉树 层序遍历
LC 剑指 Offer 20. 表示数值的字符串 题目描述这是 LeetCode 上的 剑指 Offer 20. 表示数值的字符串 ,难度为 中等。 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 数值(按顺序)可以分成以下几个部分: 若干空格 一个 小数 或者 整数 (可选)一个 'e' 或 'E' ,后面跟着一个 整数 若干空格 小数(按顺序)可以分成以下几个部分: (可选)一个符号字符(& 2023-11-03 模拟
LC 剑指 Offer II 091. 粉刷房子 题目描述这是 LeetCode 上的 剑指 Offer II 091. 粉刷房子 ,难度为 中等。 假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。 当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的正整数矩阵 cost 2023-11-03 动态规划 状态机 DP
LC 117. 填充每个节点的下一个右侧节点指针 II 题目描述这是 LeetCode 上的 117. 填充每个节点的下一个右侧节点指针 II ,难度为 中等。 给定一个二叉树: 123456struct Node { int val; Node *left; Node *right; Node *next;} 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 2023-11-03 BFS 链表
LC 2103. 环和杆 题目描述这是 LeetCode 上的 2103. 环和杆 ,难度为 简单。 总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。 这些环分别穿在 $10$ 根编号为 $0$ 到 $9$ 的杆上。 给你一个长度为 2n 的字符串 rings,表示这 n 个环在杆上的分布。 rings 中每两个字符形成一个 颜色位置对 ,用于描述每个环: 第 i 对中的 第一个 字符表示第 i 个环的 颜色( 2023-11-02 模拟 位运算
LC 2127. 参加会议的最多员工数 题目描述这是 LeetCode 上的 2127. 参加会议的最多员工数 ,难度为 困难。 一个公司准备组织一场会议,邀请名单上有 n 位员工。 公司准备了一张圆形的桌子,可以坐下任意数目的员工。 员工编号为 $0$ 到 $n - 1$。每位员工都有一位喜欢的员工,每位员工当且仅当他被安排在喜欢员工的旁边,他才会参加会议,每位员工喜欢的员工不会是他自己。 给你一个下标从 $0$ 开始的整数数组 fa 2023-11-01 图 拓扑排序 基环森林 内向基环树
LC 2003. 每棵子树内缺失的最小基因值 题目描述这是 LeetCode 上的 2003. 每棵子树内缺失的最小基因值 ,难度为 困难。 有一棵根节点为 0 的 家族树 ,总共包含 n 个节点,节点编号为 0 到 n - 1。 给你一个下标从 0 开始的整数数组 parents,其中 $parents[i]$ 是节点 i 的父节点。由于节点 0 是根 ,所以 $parents[0] = -1$。 总共有 $10^5$ 个基因值,每个基因值 2023-10-30 DFS 脑筋急转弯 图
LC 275. H 指数 II 题目描述这是 LeetCode 上的 275. H 指数 II ,难度为 中等。 给你一个整数数组 citations,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数,citations 已经按照 升序排列 。计算并返回该研究者的 h 指数。 h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (n 篇论文中)总共 2023-10-30 二分 数学
LC 274. H 指数 题目描述这是 LeetCode 上的 274. H 指数 ,难度为 中等。 给你一个整数数组 citations,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 n - h 篇论 2023-10-29 二分 数学
LC 2558. 从数量最多的堆取走礼物 题目描述这是 LeetCode 上的 2558. 从数量最多的堆取走礼物 ,难度为 简单。 给你一个整数数组 gifts,表示各堆礼物的数量。 每一秒,你需要执行以下操作: 选择礼物数量最多的那一堆。 如果不止一堆都符合礼物数量最多,从中选择任一堆即可。 选中的那一堆留下平方根数量的礼物(向下取整),取走其他的礼物。 返回在 k 秒后剩下的礼物数量。 示例 1:1234567891011 2023-10-28 优先队列(堆)