LC 2342. 数位和相等数对的最大和 题目描述这是 LeetCode 上的 2342. 数位和相等数对的最大和 ,难度为 中等。 给你一个下标从 0 开始的数组 nums,数组中的元素都是正整数。 请你选出两个下标 i 和 j(i != j),且 nums[i] 的数位和与 nums[j] 的数位和相等。 请你找出所有满足条件的下标 i 和 j,找出并返回 nums[i] + nums[j] 可以得到的最大值。 示例 1:12345 2023-11-18 哈希表 模拟
LC 2736. 最大和查询 题目描述这是 LeetCode 上的 2736. 最大和查询 ,难度为 困难。 给你两个长度为 n、下标从 0 开始的整数数组 nums1 和 nums2,另给你一个下标从 1 开始的二维数组 queries,其中 $queries[i] = [x{i}, y{i}]$ 。 对于第 i 个查询,在所有满足 $nums1[j] >= x{i}$ 且 $nums2[j] >= y{i}$ 2023-11-17 排序 树状数组 离散化
LC 2760. 最长奇偶子数组 题目描述这是 LeetCode 上的 2698. 求一个整数的惩罚数 ,难度为 简单。 给你一个下标从 $0$ 开始的整数数组 nums 和一个整数 threshold。 请你从 nums 的子数组中找出以下标 l 开头、下标 r 结尾 ($0 <= l <= r < nums.length$) 且满足以下条件的 最长子数组 : nums[l] % 2 == 0 对于范围 $[ 2023-11-16 双指针 滑动窗口
LC 2656. K 个元素的最大和 题目描述这是 LeetCode 上的 2656. K 个元素的最大和 ,难度为 简单。 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 你需要执行以下操作恰好 k 次,最大化你的得分: 从 nums 中选择一个元素 m 。 将选中的元素 m 从数组中删除。 将新元素 m + 1 添加到数组中。 你的得分增加 m 。 请你返回执行以上操作恰好 k 次后的最大得分。 示例 1:1 2023-11-15 数学
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