自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注如一的博客

专注如一

  • 博客(145)
  • 收藏
  • 关注

原创 Leetcode 第 126 场双周赛 Problem D 求出所有子序列的能量和(Java + 数学 + 01背包变种)

【代码】Leetcode 第 126 场双周赛 Problem D 求出所有子序列的能量和(Java + 数学 + 01背包变种)

2024-03-17 02:17:52 813

原创 Leetcode 第 126 场双周赛 Problem C 替换字符串中的问号使分数最小(Java + 排序 + 贪心)

【代码】Leetcode 第 126 场双周赛 Problem C 替换字符串中的问号使分数最小(Java + 排序 + 贪心)

2024-03-17 02:15:15 438

原创 Java + 字符串 Hash 算法模板

【代码】Java + 字符串 Hash 算法模板。

2024-02-18 13:22:13 253 1

原创 Leetcode 第 124 场双周赛 Problem D 修改数组后最大化数组中的连续元素数目(Java + 模拟(分段/区间))

【代码】Leetcode 第 124 场双周赛 Problem D 修改数组后最大化数组中的连续元素数目(Java + 模拟(分段/区间))

2024-02-18 01:57:20 1007

原创 Leetcode HOT 100 - 3. 无重复字符的最长子串(Java + 滑动窗口)

【代码】Leetcode HOT 100 - 3. 无重复字符的最长子串(Java + 滑动窗口)

2024-01-31 10:10:52 355

原创 Leetcode HOT 100 - 2. 两数相加(Java + 链表)

【代码】Leetcode HOT 100 - 2. 两数相加(Java + 链表)

2024-01-25 10:59:28 442

原创 Java + 最短路 Floyd 算法模板

【代码】Java + 最短路 Floyd 算法模板。

2024-01-24 10:46:51 350

原创 Java + KMP 算法模板

【代码】Java + KMP 算法模板。

2024-01-24 10:45:25 346

原创 Leetcode 第 380 场周赛 Problem C 价值和小于等于 K 的最大数字(Java + 二分答案 + 规律)

【代码】Leetcode 第 380 场周赛 Problem C 价值和小于等于 K 的最大数字(Java + 二分答案 + 规律)

2024-01-15 06:01:26 1005

原创 Leetcode 第 121 场双周赛 Problem D 统计强大整数的数目(Java + 记忆化搜索的数位 DP 模板 + 特判)

【代码】Leetcode 第 121 场双周赛 Problem D 统计强大整数的数目(Java + 记忆化搜索的数位 DP 模板 + 特判)

2024-01-07 18:42:44 970

原创 Leetcode 第 378 场双周赛 Problem D 回文串重新排列查询(Java + 区间相交关系 + 前缀和)

【代码】Leetcode 第 378 场双周赛 Problem D 回文串重新排列查询(Java + 区间相交关系 + 前缀和)

2023-12-31 20:04:20 861

原创 Leetcode 1349. 参加考试的最大学生数(Java + 按行状压暴力 + DP)

【代码】Leetcode 1349. 参加考试的最大学生数(Java + 按行状压暴力 + DP)

2023-12-26 02:44:44 889

原创 Leetcode 第 120 场双周赛 Problem C 统计移除递增子数组的数目 II(Java + 双指针 + 前缀和)

【代码】Leetcode 第 120 场双周赛 Problem C 统计移除递增子数组的数目 II(Java + 双指针 + 前缀和)

2023-12-24 00:54:43 459

原创 Leetcode 1901. 寻找峰值 II(Java + 列最大值 + 二分)

【代码】Leetcode 1901. 寻找峰值 II(Java + 列最大值 + 二分)

2023-12-19 23:38:01 473

原创 Leetcode 162. 寻找峰值(Java + 二分)

【代码】Leetcode 162. 寻找峰值(Java + 二分)

2023-12-19 00:10:13 415

原创 Leetcode 2276. 统计区间中的整数数目(Java + TreeMap 区间合并)

【代码】Leetcode 2276. 统计区间中的整数数目(Java + TreeMap 区间合并)

2023-12-16 16:00:22 108

原创 Leetcode 2132. 用邮票贴满网格图(Java + 两次一维前缀和 + 二维差分)

Leetcode 2132. 用邮票贴满网格图(Java + 两次一维前缀和 + 二维差分)

2023-12-14 02:18:27 92

原创 Leetcode 2454. 下一个更大元素 IV

【代码】Leetcode 2454. 下一个更大元素 IV。

2023-12-13 08:34:35 105

原创 Java + 基础 BFS 算法模板

【代码】Java + 基础 BFS 算法模板。

2023-12-11 01:31:05 391

原创 Leetcode 1466. 重新规划路线(两种思路:正难则反 DFS + 无向图转有向图 / DFS 无向建图 + 设定权值 + 反向遍历)

Leetcode 1466. 重新规划路线(两种思路:正难则反 DFS + 无向图转有向图 / DFS 无向建图 + 设定权值 + 反向遍历)

2023-12-07 02:23:04 88

原创 Leetcode 2646. 最小化旅行的价格总和(暴力 DFS + 树形 DP)

【代码】Leetcode 2646. 最小化旅行的价格总和(暴力 DFS + 树形 DP)

2023-12-06 21:10:15 109

原创 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 75

原创 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 141

原创 Leetcode 第 110 场双周赛 Problem D 2809. 使数组和小于等于 x 的最少时间(DP+贪心+正难则反)

Leetcode 第 110 场双周赛 Problem D 2809. 使数组和小于等于 x 的最少时间(DP 好题)题目给你两个长度相等下标从 0 开始的整数数组 nums1 和 nums2 。每一秒,对于所有下标 0

2023-12-02 17:10:27 155

原创 Leetcode 第 356 场周赛 Problem D 2801. 统计范围内的步进数字数目(数位 DP,递推写法)

Leetcode 第 356 场周赛 Problem D 2801. 统计范围内的步进数字数目(数位 DP,递推写法)题目给你两个正整数 low 和 high ,都用字符串表示,请你统计闭区间 [low, high] 内的 步进数字 数目。如果一个整数相邻数位之间差的绝对值都 恰好 是 1 ,那么这个数字被称为 步进数字 。

2023-12-01 17:17:28 106

原创 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 141

原创 Leetcode 第 355 场周赛 Problem C 长度递增组的最大数目(二分 + 贪心)

Leetcode 第 355 场周赛 Problem C 长度递增组的最大数目(二分 + 贪心)题目给你一个下标从 0 开始、长度为 n 的数组 usageLimits 。你的任务是使用从 0 到 n - 1 的数字创建若干组,并确保每个数字 i 在 所有组 中使用的次数总共不超过 usageLimits[i] 次。此外,还必须满足以下条件:每个组必须由 不同 的数字组成,也就是说,单个组内不能存在重复的数字。每个组(除了第一个)的长度必须 严格大于 前一个组。在满足所有条件的情况下,以整数形式

2023-07-23 17:58:50 172

原创 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 105

原创 Java + Trie 树算法模板

【代码】Java + Trie 树算法模板。

2023-07-16 15:13:01 56

原创 Leetcode 第 354 场周赛 Problem D 最长合法子字符串的长度(Trie + 枚举最远距离)

Leetcode 第 354 场周赛 Problem D 最长合法子字符串的长度(Trie + 枚举最远距离)题目给你一个字符串 word 和一个字符串数组 forbidden 。如果一个字符串不包含 forbidden 中的任何字符串,我们称这个字符串是 合法 的。请你返回字符串 word 的一个 最长合法子字符串 的长度。子字符串 指的是一个字符串中一段连续的字符,它可以为空。1

2023-07-16 15:10:32 391

原创 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 222

原创 Leetcode 第 108 场双周赛 Problem C 将字符串分割为最少的美丽子字符串(动态规划)

Leetcode 第 108 场双周赛 Problem C 将字符串分割为最少的美丽子字符串(动态规划)题目给你一个二进制字符串 s ,你需要将字符串分割成一个或者多个 子字符串 ,使每个子字符串都是 美丽 的。如果一个字符串满足以下条件,我们称它是 美丽 的:它不包含前导 0 。它是 5 的幂的 二进制 表示。请你返回分割后的子字符串的 最少 数目。如果无法将字符串 s 分割成美丽子字符串,请你返回 -1 。子字符串是一个字符串中一段连续的字符序列。1

2023-07-09 04:19:31 636

原创 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 326

原创 Leetcode 647. 回文子串

Leetcode 647. 回文子串题目给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。1

2023-07-01 00:50:56 149

原创 Leetcode 394. 字符串解码

Leetcode 394. 字符串解码题目给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。1

2023-06-28 23:33:05 373

原创 Leetcode 233. 数字 1 的个数

Leetcode 233. 数字 1 的个数题目给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。0

2023-06-27 14:54:35 396

原创 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 293 1

原创 Java + GCD(最大公因数) 模板

【代码】Java + GCD(最大公因数) 模板。

2023-06-25 12:51:59 165

原创 Leetcode 56. 合并区间(排序 + sort 方法的注意)

Leetcode 56. 合并区间(排序 + sort 方法的注意)题目以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。1

2023-06-22 00:52:17 808

原创 Leetcode 75. 颜色分类(三指针)

Leetcode 75. 颜色分类(三指针)题目给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。n == nums.length1

2023-06-20 22:08:22 773 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除