LC 1670. 设计前中后队列 题目描述这是 LeetCode 上的 1670. 设计前中后队列 ,难度为 中等。 请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。 请你完成 FrontMiddleBack 类: FrontMiddleBack() 初始化队列。 void pushFront(int val) 将 val 添加到队列的 最前面 。 void pushMiddle(int val) 将 2023-11-28 队列 链表 双端队列 数据结构
LC 1457. 二叉树中的伪回文路径 题目描述这是 LeetCode 上的 1457. 二叉树中的伪回文路径 ,难度为 中等。 给你一棵二叉树,每个节点的值为 1 到 9 。 我们称二叉树中的一条路径是 「伪回文」的,当它满足:路径经过的所有节点值的排列中,存在一个回文序列。 请你返回从根到叶子节点的所有路径中伪回文路径的数目。 示例 1: 123456输入:root = [2,3,1,3,1,null,1]输出:2 解释:上图为给定 2023-11-25 DFS 位运算
LC 2824. 统计和小于目标的下标对数目 题目描述这是 LeetCode 上的 2824. 统计和小于目标的下标对数目 ,难度为 简单。 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target,请你返回满足 0 <= i < j < n 且 nums[i] + nums[j] < target 的下标对 $(i, j)$ 的数目。 示例 1:123456789输入:nums = [-1, 2023-11-24 双指针 二分 排序
LC 1669. 合并两个链表 题目描述这是 LeetCode 上的 1669. 合并两个链表 ,难度为 中等。 给你两个链表 list1 和 list2,它们包含的元素分别为 n 个和 m 个。 请你将 list1 中下标从 a 到 b 的全部节点都删除,并将 list2 接在被删除节点的位置。 下图中蓝色边和节点展示了操作后的结果: 请你返回结果链表的头指针。 示例 1: 12345输入:list1 = [0,1,2,3, 2023-11-23 链表
LC 1410. HTML 实体解析器 题目描述这是 LeetCode 上的 1410. HTML 实体解析器 ,难度为 中等。 「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们对应的字符实体包括: 双引号:字符实体为 ",对应的字符是 "。 单引号:字符实体为 ',对应的字符是 ' 2023-11-23 哈希表 模拟
LC 2304. 网格中的最小路径代价 题目描述这是 LeetCode 上的 2304. 网格中的最小路径代价 ,难度为 中等。 给你一个下标从 0 开始的整数矩阵 grid,矩阵大小为 m x n,由从 0 到 $m \times n - 1$ 的不同整数组成。 你可以在此矩阵中,从一个单元格移动到下一行的任何其他单元格。 如果你位于单元格 $(x, y)$ ,且满足 $x < m - 1$,你可以移动到 $(x + 1, 0) 2023-11-22 模拟 动态规划 序列 DP 最短路 图
LC 2216. 美化数组的最少删除数 题目描述这是 LeetCode 上的 2216. 美化数组的最少删除数 ,难度为 中等。 给你一个下标从 0 开始的整数数组 nums,如果满足下述条件,则认为数组 nums 是一个 美丽数组 : nums.length 为偶数 对所有满足 i % 2 == 0 的下标 i,nums[i] != nums[i + 1] 均成立 注意,空数组同样认为是美丽数组。 你可以从 nums 中删除任意数 2023-11-21 模拟
LC 53. 最大子数组和 题目描述这是 LeetCode 上的 53. 最大子数组和 ,难度为 中等。 给你一个整数数组 nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1:12345输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:123输入:nums 2023-11-20 前缀和 分治 区间求和问题 线性 DP
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 二分