![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣周赛
文章平均质量分 79
ღCauchyོꦿ࿐
二十楼望去,目光所及皆是美景。探出二楼,所见之处满地狼藉。
展开
-
【LeetCode第 332 场周赛】
由于范围过大,且做差会造成负数,树状数组下标从1开始。所以换用map的树状数组,平且值向右平移到正数。映射数值对应的最小开始下标即可,数值在1e9,并且无前导 ‘0’,所以只需要 O(30n)。倒序遍历,动态查找后缀的在区间如上范围内的值的个数。那么考虑用树状数组获取区间内值的个数。原创 2023-02-12 15:34:43 · 571 阅读 · 0 评论 -
【LeetCode第 83 场双周赛】
运气也是实力的一部分,哦吼吼…最后一题猜过去的emmm。原创 2022-07-24 00:00:08 · 288 阅读 · 6 评论 -
【LeetCode第 300 场周赛】
第 300 场周赛 题目 思路 代码螺旋矩阵 IV 题目 思路 代码知道秘密的人数 题目 思路 一开始想的,就是直接拿个动态数组,模拟删人、加人这个过程。但是时间,空间开销必然很大。对此需要进行优化:这里我用 mapmapmap 进行存储: 第 iii 天,人数 jjj。 代码网格图中递增路径的数目 题目 思路 相邻能抵达,状态转移 dp[i][j]=dp[x][y]+1dp[i][j] = dp[x][y] + 1dp[...原创 2022-07-03 20:18:30 · 365 阅读 · 2 评论 -
287. 寻找重复数
287. 寻找重复数简单解释,官解也很详细。定义:dp[i]{dp[i]}dp[i] 表示 nums[i]nums[i]nums[i] 中 i ,之前都原创 2022-07-03 18:56:45 · 225 阅读 · 3 评论 -
【LeetCode第 80 场双周赛】
感谢又给一次AK的机会 题目 思路 代码咒语和药水的成功对数 题目 思路 计算 spells[i]∗potions[j]>=success{spells[i] * potions[j] >= success}spells[i]∗potions[j]>=success ,每个 i{i}i 有多少个 j{j}j 满足。转化为找到 spells[i]>=success / potions[j]spells[i] >= success \ / \ potions[j]spells[i]>=succ原创 2022-06-12 06:00:00 · 430 阅读 · 36 评论 -
【LeetCode第 296 场周赛】?!?我AK了?!?
神奇AK传送门 题目 思路 按照题目模拟 代码🏄 划分数组使最大差为 k 题目 思路 题意:划分最少子序列,满足子序列中极大极小值只差不超过 k{k}k。很原创 2022-06-05 12:26:57 · 345 阅读 · 34 评论 -
【LeetCode第 295 场周赛】
传送门文章目录重排字符形成目标字符串题目描述样例代码价格减免题目描述样例代码使数组按非递减顺序排列到达角落需要移除障碍物的最小数目重排字符形成目标字符串题目描述样例代码class Solution: def rearrangeCharacters(self, s: str, target: str) -> int: x = Counter(s) y = Counter(target) cnt = inf for原创 2022-05-29 21:10:11 · 249 阅读 · 11 评论 -
2281. 巫师的总力量和(单调栈+前缀和的前缀和)
2281. 巫师的总力量和文章目录题目描述示例数据范围思路代码题目描述示例数据范围1<= strength.length <= 1051 <= strength[i] <= 109思路参考灵茶山艾府以每个点作为最小值,计算包含该最小值的所有区间所造成的贡献。设左右边界 [L,R]{[L,R]}[L,R](即为包含该元素为最小值的左右区间端点),为了避免重复计算,考虑左侧严格小于当前元素的最近位置 L−1{L-1}L−1,以及右侧 小于等于当前元素的最近原创 2022-05-24 22:11:06 · 420 阅读 · 0 评论 -
6066. 统计区间中的整数数目(区间并集模板、动态开点)
文章目录题意样例数据范围代码6066. 统计区间中的整数数目题意样例数据范围代码class CountIntervals { CountIntervals *left = nullptr, *right = nullptr; int l, r, sum = 0;public: CountIntervals() :l(1), r(1e9) {} CountIntervals(int l, int r) :l(l), r(r) {} void原创 2022-05-15 21:43:15 · 144 阅读 · 0 评论 -
6058. 统计打字方案数
6058. 统计打字方案数文章目录题面样例思路代码题面样例思路如题:即转化为连续一段的相同数字用(1、2、3、4)来表示的方案数。(‘7’,‘9’)有四个按键即为(1、2、3、4),其余(1、2、3)。那么根据乘法原理答案自然是:所有段的方案数之积。求(1、2、3)凑数字 x{x}x 的方案数f[i]{f[i]}f[i] :表示用3个数字凑出数字 i{i}i 的方案数。转移方程:f[i]=f[i−1]+f[i−2]+f[i−3]{f[i] = f[i - 1] + f[i -原创 2022-05-08 12:10:53 · 416 阅读 · 0 评论 -
6050. 字符串的总引力(子串分值和)
6050. 字符串的总引力文章目录前言子串分值和题目描述输入描述输出描述样例思路题解法一:计算贡献法二:动态规划子串分值题目描述输入描述输出描述样例思路题解前言实际上这是蓝桥真题,和子串分值和一样子串分值和题目描述对于一个字符串S{S}S,我们定义S{S}S的分值f(S){f(S)}f(S)为S{S}S中出现的不同的字符个数。例如f("abc")=3,f("aba")=2,f("aaa")=1{f("abc") = 3,f("aba") = 2,f("aaa") = 1}f("abc")=3,原创 2022-05-01 16:11:24 · 733 阅读 · 1 评论 -
6044. 花期内花的数目(点被区间覆盖)
6044. 花期内花的数目文章目录题目样例数据题解map差分 + 双指针二分(清晰透彻)差分 + 树状数组 + 哈希题目样例数据1 <= flowers.length <= 5 * 1041 <= starti <= endi <= 1091 <= persons.length <= 5 * 1041 <= persons[i] <= 109题解map差分 + 双指针思路:[starti,endi]区间每个时间点都原创 2022-04-24 16:20:18 · 317 阅读 · 0 评论 -
6043. 统计包含每个点的矩形数目
文章目录题目样例数据暴力 + 二分二维偏序问题:树状数组Python排序 + 双指针名次树:(SortedList)6043. 统计包含每个点的矩形数目题目样例输入:rectangles = [[1,1],[2,2],[3,3]], points = [[1,3],[1,1]]输出:[1,3]解释:第一个矩形只包含点 (1, 1) 。第二个矩形只包含点 (1, 1) 。第三个矩形包含点 (1, 3) 和 (1, 1) 。包含点 (1, 3) 的矩形数目为 1 。包含点 (1,原创 2022-04-24 15:09:29 · 2542 阅读 · 2 评论 -
2166. 设计位集
2166. 设计位集题目位集 Bitset 是一种能以紧凑形式存储位的数据结构。请你实现 Bitset 类。Bitset(int size) 用 size 个位初始化 Bitset ,所有位都是 0 。void fix(int idx) 将下标为 idx 的位上的值更新为 1 。如果值已经是 1 ,则不会发生任何改变。void unfix(int idx) 将下标为 idx 的位上的值更新为 0 。如果值已经是 0 ,则不会发生任何改变。void flip() 翻转 Bitset 中每一位原创 2022-02-13 22:57:08 · 196 阅读 · 0 评论 -
6006. 拿出最少数目的魔法豆
6006. 拿出最少数目的魔法豆原创 2022-02-13 14:01:42 · 386 阅读 · 0 评论 -
2121. 相同元素的间隔之和
2121. 相同元素的间隔之和文章目录1. 题意样例2. 思路3. 算法4. 代码代码1代码21. 题意给定一个数组 arr ,定义两个元素的间隔是数组中与该元素的值相同的位置之差。即:dis = | i - j | ,(arr[i] == arr[j])返回每位数的间隔之和样例输入:arr = [2,1,3,1,2,3,3]输出:[4,2,7,2,4,4,5]解释:下标 0 :另一个 2 在下标 4 ,|0 - 4| = 4下标 1 :另一个 1 在下标 3 ,|1 - 3|原创 2022-01-05 13:58:42 · 707 阅读 · 0 评论 -
2116. 判断一个括号字符串是否有效
2116. 判断一个括号字符串是否有效文章目录1. 题意样例2. 思路3. 算法4. 代码代码1代码21. 题意一串括号序列s,数组locked。locked值为0,表示 ‘(’ 可被修改为 ‘)’ , ‘)’ 可被修改为 ‘(’ 。locked值为1,表示不可修改。判断是否能变为一个合法序列。样例输入:s = “))()))”, locked = “010100”输出:true解释:locked[1] == ‘1’ 和 locked[3] == ‘1’ ,所以我们无法改变 s原创 2022-01-05 12:03:44 · 278 阅读 · 0 评论 -
5947. 从给定原材料中找到所有可以做出的菜
5947. 从给定原材料中找到所有可以做出的菜原创 2021-12-29 16:47:54 · 254 阅读 · 0 评论 -
2111. 使数组 K 递增的最少操作次数
2111. 使数组 K 递增的最少操作次数目录1. 题意2. 算法3. 思路代码1. 题意给定一个数组 arr ,给定一个数 k ,对数组任意位置任意元素进行修改,使得其满足:arr[i−k]<=arr[i]{arr[i - k] <= arr[i]}arr[i−k]<=arr[i]求其最少修改次数2. 算法3. 思路代码...原创 2021-12-22 21:31:18 · 835 阅读 · 0 评论 -
2110. 股票平滑下跌阶段的数目
2110. 股票平滑下跌阶段的数目题意算法思路原创 2021-12-22 21:07:58 · 294 阅读 · 0 评论