LC 1334. 阈值距离内邻居最少的城市 题目描述这是 LeetCode 上的 1334. 阈值距离内邻居最少的城市 ,难度为 中等。 有 $n$ 个城市,按从 $0$ 到 $n-1$ 编号。 给你一个边数组 edges,其中 $edges[i] = [from{i}, to{i}, weight{i}]$ 代表 $from{i}$ 和 $to_{i}$ 两个城市之间的双向加权边,距离阈值是一个整数 distanceThreshold。 2023-11-14 最短路 图
LC 2300. 咒语和药水的成功对数 题目描述这是 LeetCode 上的 2300. 咒语和药水的成功对数 ,难度为 中等。 给你两个正整数数组 spells 和 potions,长度分别为 n 和 m,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。 同时给你一个整数 success。一个咒语和药水的能量强度相乘如果大于等于 success,那么它们视为一对成功的组合。 2023-11-10 二分 排序
LC 1760. 袋子里最少数目的球 题目描述这是 LeetCode 上的 1760. 袋子里最少数目的球 ,难度为 中等。 给你一个整数数组 nums,其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations。 你可以进行如下操作至多 maxOperations 次: 选择任意一个袋子,并将袋子里的球分到 2 个新的袋子中,每个袋子里都有 正整数 个球。 比方说,一个袋子里有 5 个球,你可 2023-11-09 二分
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 脑筋急转弯 图