LC 809. 情感丰富的文字 题目描述这是 LeetCode 上的 809. 情感丰富的文字 ,难度为 中等。 有时候人们会用重复写一些字母来表示额外的感受,比如 "hello" -> "heeellooo", "hi" -> "hiii"。我们将相邻字母都相同的一串字符定义为相同字母组,例如:"h", " 2022-11-25 模拟 双指针
LC 795. 区间子数组个数 题目描述这是 LeetCode 上的 795. 区间子数组个数 ,难度为 中等。 给你一个整数数组 nums 和两个整数:left 及 right 。 找出 nums 中连续、非空且其中最大元素在范围 $[left, right]$ 内的子数组,并返回满足条件的子数组的个数。 生成的测试用例保证结果符合 32-bit 整数范围。 示例 1:12345输入:nums = [2,1,4,3], lef 2022-11-24 模拟 单调栈
LC 1742. 盒子中小球的最大数量 题目描述这是 LeetCode 上的 1742. 盒子中小球的最大数量 ,难度为 简单。 你在一家生产小球的玩具厂工作,有 n 个小球,编号从 lowLimit 开始,到 highLimit 结束(包括 lowLimit 和 highLimit ,即 n == highLimit - lowLimit + 1)。另有无限数量的盒子,编号从 1 到 infinity 。 你的工作是将每个小球放入盒子 2022-11-23 哈希表 模拟
LC 878. 第 N 个神奇数字 题目描述这是 LeetCode 上的 878. 第 N 个神奇数字 ,难度为 困难。 一个正整数如果能被 a 或 b 整除,那么它是神奇的。 给定三个整数 n , a , b ,返回第 n 个神奇的数字。因为答案可能很大,所以返回答案 对 $10^9 + 7$ 取模 后的值。 示例 1:123输入:n = 1, a = 2, b = 3输出:2示例 2:123输入:n = 4, a = 2, b 2022-11-22 二分 数学 容斥原理 gcd lcm
LC 808. 分汤 题目描述这是 LeetCode 上的 808. 分汤 ,难度为 中等。 有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作: 提供 100ml 的 汤A 和 0ml 的 汤B 。 提供 75ml 的 汤A 和 25ml 的 汤B 。 提供 50ml 的 汤A 和 50ml 的 汤B 。 提供 25ml 的 汤A 和 75ml 的 汤B 。 当我们把汤分配给某人之后, 2022-11-21 动态规划 数学 线性 DP
LC 799. 香槟塔 题目描述这是 LeetCode 上的 799. 香槟塔 ,难度为 中等。 我们把玻璃杯摆成金字塔的形状,其中 第一层 有 1 个玻璃杯, 第二层 有 2 个,依次类推到第 100 层,每个玻璃杯 (250ml) 将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟,当顶层的杯子满了,任何溢出的香槟都会立刻等流量的流向左右两侧的玻璃杯。当左右两边的杯子也满了,就会等流量的流向它们左右两边的杯子,依次类 2022-11-20 动态规划 线性 DP
LC 1732. 找到最高海拔 题目描述这是 LeetCode 上的 1732. 找到最高海拔 ,难度为 简单。 有一个自行车手打算进行一场公路骑行,这条路线总共由 $n + 1$ 个不同海拔的点组成。自行车手从海拔为 0 的点 0 开始骑行。 给你一个长度为 n 的整数数组 gain,其中 gain[i] 是点 i 和点 i + 1 的 净海拔高度差($0 <= i < n$)。请你返回 最高点的海拔 。 示例 1 2022-11-19 模拟
LC 891. 子序列宽度之和 题目描述这是 LeetCode 上的 891. 子序列宽度之和 ,难度为 困难。 一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums,返回 nums 的所有非空 子序列 的 宽度之和 。由于答案可能非常大,请返回对 $10^9 + 7$ 取余 后的结果。 子序列 定义为从一个数组里删除一些(或者不删除)元素,但不改变剩下元素的顺序得到的数组。例如,[3,6,2, 2022-11-18 数学
LC 792. 匹配子序列的单词数 题目描述这是 LeetCode 上的 792. 匹配子序列的单词数 ,难度为 中等。 给定字符串 s 和字符串数组 words, 返回 words[i] 中是 s 的子序列的单词个数 。 字符串的 子序列 是从原始字符串中生成的新字符串,可以从中删去一些字符(可以是""),而不改变其余字符的相对顺序。 例如, “ace” 是 “abcde” 的子序列。 示例 1:12345输 2022-11-17 哈希表 二分
LC 775. 全局倒置与局部倒置 题目描述这是 LeetCode 上的 775. 全局倒置与局部倒置 ,难度为 中等。 给你一个长度为 n 的整数数组 nums,表示由范围 $[0, n - 1]$ 内所有整数组成的一个排列。 全局倒置 的数目等于满足下述条件不同下标对 (i, j) 的数目: $0 <= i < j < n$ $nums[i] > nums[j]$ 局部倒置 的数目等于满足下述条件的下 2022-11-16 数学 树状数组
LC 1710. 卡车上的最大单元数 题目描述这是 LeetCode 上的 1710. 卡车上的最大单元数 ,难度为 简单。 请你将一些箱子装在 一辆卡车 上。给你一个二维数组 boxTypes,其中 $boxTypes[i] = [numberOfBoxes_i, numberOfUnitsPerBox_i]$ : $numberOfBoxes_i$ 是类型 i 的箱子的数量。 $numberOfUnitsPerBox_i$ 是类 2022-11-15 模拟 贪心 排序
LC 805. 数组的均值分割 题目描述这是 LeetCode 上的 805. 数组的均值分割 ,难度为 困难。 给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 数组 或者 B 数组中,使得 A 数组和 B 数组不为空,并且 average(A) == average(B) 。 如果可以完成则返回 true, 否则返回 false。 注意:对于数组 arr, average(arr) 是 arr 2022-11-14 哈希表 二进制枚举 折半搜索
LC 791. 自定义字符串排序 题目描述这是 LeetCode 上的 791. 自定义字符串排序 ,难度为 中等。 给定两个字符串 order 和 s 。order 的所有单词都是 唯一 的,并且以前按照一些自定义的顺序排序。 对 s 的字符进行置换,使其与排序的 order 相匹配。更具体地说,如果在 order 中的字符 x 出现字符 y 之前,那么在排列后的字符串中, x 也应该出现在 y 之前。 返回 满足这个性质的 s 2022-11-13 模拟 构造
LC 790. 多米诺和托米诺平铺 题目描述这是 LeetCode 上的 790. 多米诺和托米诺平铺 ,难度为 中等。 有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 "L" 的托米诺形。两种形状都可以旋转。 给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 $10^9 + 7$ 取模 的值。 平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的 2022-11-12 状态机 DP
LC 1704. 判断字符串的两半是否相似 题目描述这是 LeetCode 上的 1704. 判断字符串的两半是否相似 ,难度为 简单。 给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。 两个字符串 相似 的前提是它们都含有相同数目的元音('a','e','i','o','u','A','E 2022-11-11 模拟