- 博客(145)
- 收藏
- 关注
原创 Leetcode 第 126 场双周赛 Problem D 求出所有子序列的能量和(Java + 数学 + 01背包变种)
【代码】Leetcode 第 126 场双周赛 Problem D 求出所有子序列的能量和(Java + 数学 + 01背包变种)
2024-03-17 02:17:52 899
原创 Leetcode 第 126 场双周赛 Problem C 替换字符串中的问号使分数最小(Java + 排序 + 贪心)
【代码】Leetcode 第 126 场双周赛 Problem C 替换字符串中的问号使分数最小(Java + 排序 + 贪心)
2024-03-17 02:15:15 508
原创 Leetcode 第 124 场双周赛 Problem D 修改数组后最大化数组中的连续元素数目(Java + 模拟(分段/区间))
【代码】Leetcode 第 124 场双周赛 Problem D 修改数组后最大化数组中的连续元素数目(Java + 模拟(分段/区间))
2024-02-18 01:57:20 1065
原创 Leetcode HOT 100 - 3. 无重复字符的最长子串(Java + 滑动窗口)
【代码】Leetcode HOT 100 - 3. 无重复字符的最长子串(Java + 滑动窗口)
2024-01-31 10:10:52 373
原创 Leetcode HOT 100 - 2. 两数相加(Java + 链表)
【代码】Leetcode HOT 100 - 2. 两数相加(Java + 链表)
2024-01-25 10:59:28 480
原创 Leetcode 第 380 场周赛 Problem C 价值和小于等于 K 的最大数字(Java + 二分答案 + 规律)
【代码】Leetcode 第 380 场周赛 Problem C 价值和小于等于 K 的最大数字(Java + 二分答案 + 规律)
2024-01-15 06:01:26 1057
原创 Leetcode 第 121 场双周赛 Problem D 统计强大整数的数目(Java + 记忆化搜索的数位 DP 模板 + 特判)
【代码】Leetcode 第 121 场双周赛 Problem D 统计强大整数的数目(Java + 记忆化搜索的数位 DP 模板 + 特判)
2024-01-07 18:42:44 1015
原创 Leetcode 第 378 场双周赛 Problem D 回文串重新排列查询(Java + 区间相交关系 + 前缀和)
【代码】Leetcode 第 378 场双周赛 Problem D 回文串重新排列查询(Java + 区间相交关系 + 前缀和)
2023-12-31 20:04:20 877
原创 Leetcode 1349. 参加考试的最大学生数(Java + 按行状压暴力 + DP)
【代码】Leetcode 1349. 参加考试的最大学生数(Java + 按行状压暴力 + DP)
2023-12-26 02:44:44 905
原创 Leetcode 第 120 场双周赛 Problem C 统计移除递增子数组的数目 II(Java + 双指针 + 前缀和)
【代码】Leetcode 第 120 场双周赛 Problem C 统计移除递增子数组的数目 II(Java + 双指针 + 前缀和)
2023-12-24 00:54:43 520
原创 Leetcode 1901. 寻找峰值 II(Java + 列最大值 + 二分)
【代码】Leetcode 1901. 寻找峰值 II(Java + 列最大值 + 二分)
2023-12-19 23:38:01 499
原创 Leetcode 2276. 统计区间中的整数数目(Java + TreeMap 区间合并)
【代码】Leetcode 2276. 统计区间中的整数数目(Java + TreeMap 区间合并)
2023-12-16 16:00:22 138
原创 Leetcode 2132. 用邮票贴满网格图(Java + 两次一维前缀和 + 二维差分)
Leetcode 2132. 用邮票贴满网格图(Java + 两次一维前缀和 + 二维差分)
2023-12-14 02:18:27 123
原创 Leetcode 1466. 重新规划路线(两种思路:正难则反 DFS + 无向图转有向图 / DFS 无向建图 + 设定权值 + 反向遍历)
Leetcode 1466. 重新规划路线(两种思路:正难则反 DFS + 无向图转有向图 / DFS 无向建图 + 设定权值 + 反向遍历)
2023-12-07 02:23:04 121
原创 Leetcode 2646. 最小化旅行的价格总和(暴力 DFS + 树形 DP)
【代码】Leetcode 2646. 最小化旅行的价格总和(暴力 DFS + 树形 DP)
2023-12-06 21:10:15 160
原创 Leetcode 2477. 到达首都的最少油耗(建图 + DFS 一次遍历)
Leetcode 2477. 到达首都的最少油耗(建图 + DFS 一次遍历)题目给你一棵 n 个节点的树(一个无向、连通、无环图),每个节点表示一个城市,编号从 0 到 n - 1 ,且恰好有 n - 1 条路。0 是首都。给你一个二维整数数组 roads ,其中 roads[i] = [ai, bi] ,表示城市 ai 和 bi 之间有一条 双向路 。
2023-12-05 15:04:39 115
原创 Leetcode 第 374 场双周赛 Problem D 100146. 统计感冒序列的数目(组合数学+阶乘+逆元)
Leetcode 第 374 场双周赛 Problem D 100146. 统计感冒序列的数目(组合数学+阶乘+逆元)题目给你一个整数 n 和一个下标从 0 开始的整数数组 sick ,数组按 升序 排序。有 n 位小朋友站成一排,按顺序编号为 0 到 n - 1 。数组 sick 包含一开始得了感冒的小朋友的位置。如果位置为 i 的小朋友得了感冒,他会传染给下标为 i - 1 或者 i + 1 的小朋友,前提 是被传染的小朋友存在且还没有得感冒。每一秒中, 至多一位 还没感冒的小朋友会被传染。
2023-12-03 23:31:58 178
原创 Leetcode 第 110 场双周赛 Problem D 2809. 使数组和小于等于 x 的最少时间(DP+贪心+正难则反)
Leetcode 第 110 场双周赛 Problem D 2809. 使数组和小于等于 x 的最少时间(DP 好题)题目给你两个长度相等下标从 0 开始的整数数组 nums1 和 nums2 。每一秒,对于所有下标 0
2023-12-02 17:10:27 195
原创 Leetcode 第 356 场周赛 Problem D 2801. 统计范围内的步进数字数目(数位 DP,递推写法)
Leetcode 第 356 场周赛 Problem D 2801. 统计范围内的步进数字数目(数位 DP,递推写法)题目给你两个正整数 low 和 high ,都用字符串表示,请你统计闭区间 [low, high] 内的 步进数字 数目。如果一个整数相邻数位之间差的绝对值都 恰好 是 1 ,那么这个数字被称为 步进数字 。
2023-12-01 17:17:28 149
原创 Leetcode 2661. 找出叠涂元素
* Leetcode 2661. 找出叠涂元素* 题目 * 给你一个下标从 0 开始的整数数组 arr 和一个 m x n 的整数 矩阵 mat 。arr 和 mat 都包含范围 [1,m * n] 内的 所有 整数。 * 从下标 0 开始遍历 arr 中的每个下标 i ,并将包含整数 arr[i] 的 mat 单元格涂色。 * 请你找出 arr 中在 mat 的某一行或某一列上都被涂色且下标最小的元素,并返回其下标 i 。
2023-12-01 16:43:16 194
原创 Leetcode 第 355 场周赛 Problem C 长度递增组的最大数目(二分 + 贪心)
Leetcode 第 355 场周赛 Problem C 长度递增组的最大数目(二分 + 贪心)题目给你一个下标从 0 开始、长度为 n 的数组 usageLimits 。你的任务是使用从 0 到 n - 1 的数字创建若干组,并确保每个数字 i 在 所有组 中使用的次数总共不超过 usageLimits[i] 次。此外,还必须满足以下条件:每个组必须由 不同 的数字组成,也就是说,单个组内不能存在重复的数字。每个组(除了第一个)的长度必须 严格大于 前一个组。在满足所有条件的情况下,以整数形式
2023-07-23 17:58:50 198
原创 Leetcode 第 109 场双周赛 Problem D 将一个数字表示成幂的和的方案数(dfs+dp、01背包)
Leetcode 第 109 场双周赛 Problem D 将一个数字表示成幂的和的方案数(dfs+dp、01背包)题目给你两个 正 整数 n 和 x 。请你返回将 n 表示成一些 互不相同 正整数的 x 次幂之和的方案数。换句话说,你需要返回互不相同整数 [n1, n2, …, nk] 的集合数目,满足 n = n1 ^ x + n2 ^ x + … + nk ^ x 。由于答案可能非常大,请你将它对 10 ^ 9 + 7 取余后返回。比方说,n = 160 且 x = 3 ,一个表示 n 的
2023-07-23 02:27:53 139
原创 Leetcode 第 354 场周赛 Problem D 最长合法子字符串的长度(Trie + 枚举最远距离)
Leetcode 第 354 场周赛 Problem D 最长合法子字符串的长度(Trie + 枚举最远距离)题目给你一个字符串 word 和一个字符串数组 forbidden 。如果一个字符串不包含 forbidden 中的任何字符串,我们称这个字符串是 合法 的。请你返回字符串 word 的一个 最长合法子字符串 的长度。子字符串 指的是一个字符串中一段连续的字符,它可以为空。1
2023-07-16 15:10:32 416
原创 Leetcode 第 108 场双周赛 Problem D 黑格子的数目
Leetcode 第 108 场双周赛 Problem D 黑格子的数目题目给你两个整数 m 和 n ,表示一个下标从 0 开始的 m x n 的网格图。给你一个下标从 0 开始的二维整数矩阵 coordinates ,其中 coordinates[i] = [x, y] 表示坐标为 [x, y] 的格子是 黑色的 ,所有没出现在 coordinates 中的格子都是 白色的。一个块定义为网格图中 2 x 2 的一个子矩阵。更正式的,对于左上角格子为 [x, y] 的块,其中 0
2023-07-09 04:22:50 237
原创 Leetcode 第 108 场双周赛 Problem C 将字符串分割为最少的美丽子字符串(动态规划)
Leetcode 第 108 场双周赛 Problem C 将字符串分割为最少的美丽子字符串(动态规划)题目给你一个二进制字符串 s ,你需要将字符串分割成一个或者多个 子字符串 ,使每个子字符串都是 美丽 的。如果一个字符串满足以下条件,我们称它是 美丽 的:它不包含前导 0 。它是 5 的幂的 二进制 表示。请你返回分割后的子字符串的 最少 数目。如果无法将字符串 s 分割成美丽子字符串,请你返回 -1 。子字符串是一个字符串中一段连续的字符序列。1
2023-07-09 04:19:31 674
原创 Leetcode 第 108 场双周赛 Problem A 最长交替子序列(O(n)解法)
Leetcode 第 108 场双周赛 Problem A 最长交替子序列(O(n)解法)题目给你一个下标从 0 开始的整数数组 nums 。如果 nums 中长度为 m 的子数组 s 满足以下条件,我们称它是一个交替子序列:m 大于 1 。s1 = s0 + 1 。下标从 0 开始的子数组 s 与数组 [s0, s1, s0, s1,…,s(m-1) % 2] 一样。也就是说,s1 - s0 = 1 ,s2 - s1 = -1 ,s3 - s2 = 1 ,s4 - s3 = -1,以此类推,直到
2023-07-09 04:15:51 354
原创 Leetcode 647. 回文子串
Leetcode 647. 回文子串题目给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。1
2023-07-01 00:50:56 176
原创 Leetcode 394. 字符串解码
Leetcode 394. 字符串解码题目给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。1
2023-06-28 23:33:05 514
原创 Leetcode 233. 数字 1 的个数
Leetcode 233. 数字 1 的个数题目给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。0
2023-06-27 14:54:35 432
原创 Leetcode 第 351 场周赛 Problem B 得到整数零需要执行的最少操作数
Leetcode 第 351 场周赛 Problem B 得到整数零需要执行的最少操作数题目给你两个整数:num1 和 num2 。在一步操作中,你需要从范围 [0, 60] 中选出一个整数 i ,并从 num1 减去 2i + num2 。请你计算,要想使 num1 等于 0 需要执行的最少操作数,并以整数形式返回。如果无法使 num1 等于 0 ,返回 -1 。1
2023-06-25 14:14:16 350 1
原创 Leetcode 56. 合并区间(排序 + sort 方法的注意)
Leetcode 56. 合并区间(排序 + sort 方法的注意)题目以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。1
2023-06-22 00:52:17 982
原创 Leetcode 75. 颜色分类(三指针)
Leetcode 75. 颜色分类(三指针)题目给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。n == nums.length1
2023-06-20 22:08:22 853 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人