LC-1774.最接近目标价格的甜点成本 题目描述leetcode 中等题 你打算做甜点,现在需要购买配料。目前共有 n 种冰激凌基料和 m 种配料可供选购。而制作甜点需要遵循以下几条规则: 必须选择 一种 冰激凌基料。 可以添加 一种或多种 配料,也可以不添加任何配料。 每种类型的配料 最多两份 。 给你以下三个输入: baseCosts ,一个长度为 n 的整数数组,其中每个 baseCosts[i] 表示第 i 种冰激凌基料的 2022-12-04 #动态规划 #二分查找 #回溯
LC-895.最大频率栈 题目描述leetcode 困难题 设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。 void push(int val) 将一个整数 val 压入栈顶。 int pop() 删除并返回堆栈中出现频率最高的元素。 如果出现频率最高的元素不只一个,则移除并返回最接近栈顶的元素。 示例1: 2022-11-30 #数据结构
LC-115.不同的子序列 题目描述leetcode 困难题 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,”ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是) 题目数据保证答案符合 32 位带符号整数范围。 示例1: 1234567输入:s = "rab 2022-11-29 #动态规划
LC-813.最大平均值和的分组 题目描述leetcode 中等题 给定数组 nums 和一个整数 k 。我们将给定的数组 nums 分成 最多 k 个相邻的非空子数组 。 分数 由每个子数组内的平均值的总和构成。 注意我们必须使用 nums 数组中的每一个数进行分组,并且分数不一定需要是整数。 返回我们所能得到的最大 分数 是多少。答案误差在 $10^{-6}$ 内被视为是正确的。 示例1: 123456输入: nums = [ 2022-11-28 #动态规划
LC-2488.统计中位数为K的子数组 题目描述leetcode 困难题 给你一个长度为 n 的数组 nums ,该数组由从 1 到 n 的 不同 整数组成。另给你一个正整数 k 。 统计并返回 num 中的 中位数 等于 k 的非空子数组的数目。 注意: 数组的中位数是按 递增 顺序排列后位于 中间 的那个元素,如果数组长度为偶数,则中位数是位于中间靠 左 的那个元素。 例如,[2,3,1,4] 的中位数是 2 ,[8,4,3,5, 2022-11-28 #等价转换
LC-6251.统计回文子序列数目 题目描述leetcode 困难题 给你数字字符串 s ,请你返回 s 中长度为 5 的 回文子序列 数目。由于答案可能很大,请你将答案对 $10^9 + 7$ 取余 后返回。 提示: 如果一个字符串从前往后和从后往前读相同,那么它是 回文字符串 。子序列是一个字符串中删除若干个字符后,不改变字符顺序,剩余字符构成的字符串。 示例1: 12345输入:s = "103301"输出 2022-11-28 #动态规划 #字符串
LC-882.细分图中的可到达节点 题目描述leetcode 困难题 给你一个无向图(原始图),图中有 n 个节点,编号从 0 到 n - 1 。你决定将图中的每条边 细分 为一条节点链,每条边之间的新节点数各不相同。 图用由边组成的二维数组 edges 表示,其中 edges[i] = [ui, vi, cnti] 表示原始图中节点 ui 和 vi 之间存在一条边,cnti 是将边 细分 后的新节点总数。注意,cnti 2022-11-26 #优先队列 #Dijkstra #图 #最短路
LC-795.区间子数组个数 题目描述leetcode 中等题 给你一个整数数组 nums 和两个整数:left 及 right 。找出 nums 中连续、非空且其中最大元素在范围 [left, right] 内的子数组,并返回满足条件的子数组的个数。 示例1: 123输入:nums = [2,1,4,3], left = 2, right = 3输出:3解释:满足条件的三个子数组:[2], [2, 1], [3] 提示1: 2022-11-24 #单调栈 #双指针/多指针
LC-878.第N个神奇数字 题目描述leetcode 困难题 一个正整数如果能被 a 或 b 整除,那么它是神奇的。 给定三个整数 n , a , b ,返回第 n 个神奇的数字。因为答案可能很大,所以返回答案 对 10^9 + 7 取模 后的值。 示例1: 12输入:n = 1, a = 2, b = 3输出:2 示例2: 12输入:n = 4, a = 2, b = 3输出:6 提示1: 121 <= n &l 2022-11-22 #二分查找 #容斥原理 #思维题
LC-6244.完美分割的方案数 题目描述leetcode 困难题 给你一个字符串 s ,每个字符是数字 ‘1’ 到 ‘9’ ,再给你两个整数 k 和 minLength 。 如果对 s 的分割满足以下条件,那么我们认为它是一个 完美 分割: s 被分成 k 段互不相交的子字符串。 每个子字符串长度都 至少 为 minLength 。 每个子字符串的第一个字符都是一个 质数 数字,最后一个字符都是一个 非质数 数字。质数数字为 2022-11-21 #动态规划