
算法题解
文章平均质量分 67
TD230
干就完了
展开
-
Leetcode862. 和至少为 K 的最短子数组
给你一个整数数组 nums 和一个整数 k ,找出 nums 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 ,返回 -1 。子数组 是数组中 连续 的一部分。示例 1:输入:nums = [1], k = 1输出:1示例 2:输入:nums = [1,2], k = 4输出:-1示例 3:输入:nums = [2,-1,2], k = 3输出:3提示:1 <= nums.length <= 10^5-10^5 <= num原创 2022-04-12 00:43:58 · 1239 阅读 · 2 评论 -
Leetcode1438. 绝对差不超过限制的最长连续子数组
给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。如果不存在满足条件的子数组,则返回 0 。示例 1:输入:nums = [8,2,4,7], limit = 4输出:2解释:所有子数组如下:[8] 最大绝对差 |8-8| = 0 <= 4.[8,2] 最大绝对差 |8-2| = 6 > 4.[8,2,4] 最大绝对差 |8-2| = 6 > 4.[8,2,4,原创 2022-04-10 17:32:11 · 238 阅读 · 0 评论 -
Leetcode1425. 带限制的子序列和
给你一个整数数组 nums 和一个整数 k ,请你返回 非空 子序列元素和的最大值,子序列需要满足:子序列中每两个 相邻 的整数 nums[i] 和 nums[j] ,它们在原数组中的下标 i 和 j 满足 i < j 且 j - i <= k 。数组的子序列定义为:将数组中的若干个数字删除(可以删除 0 个数字),剩下的数字按照原本的顺序排布。示例 1:输入:nums = [10,2,-10,5,20], k = 2输出:37解释:子序列为 [10, 2, 5, 20] 。示例 2原创 2022-04-07 21:13:27 · 391 阅读 · 0 评论 -
LeetCode1751.最多可以参加的会议数目 II---动态规划题解
1751. 最多可以参加的会议数目 II给你一个 events 数组,其中 events[i] = [startDayi, endDayi, valuei] ,表示第 i 个会议在 startDayi 天开始,第 endDayi 天结束,如果你参加这个会议,你能得到价值 valuei 。同时给你一个整数 k 表示你能参加的最多会议数目。你同一时间只能参加一个会议。如果你选择参加某个会议,那么你必须 完整 地参加完这个会议。会议结束日期是包含在会议内的,也就是说你不能同时参加一个开始日期与另一个结束日期相原创 2021-11-26 01:00:54 · 418 阅读 · 0 评论 -
LeetCode397.整数替换---记忆化递归、贪心题解
397. 整数替换给定一个正整数 n ,你可以做如下操作:如果 n 是偶数,则用 n / 2替换 n 。如果 n 是奇数,则可以用 n + 1或n - 1替换 n 。n 变为 1 所需的最小替换次数是多少?示例 1:输入:n = 8输出:3解释:8 -> 4 -> 2 -> 11 <= n <= 2^31 - 1解法1看到题目给出 n 有两种状态,分别对应不同操作时,首先想到动态规划。但是再看一眼数据范围,无法创建动态规划数组,会爆内存。退一步想,d原创 2021-11-19 11:40:04 · 181 阅读 · 0 评论 -
LeetCode115.不同的子序列---动态规划题解
LeetCode 115.不同的子序列给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。示例 1:输入:s = “rabbbit”, t = “rabbit”输出:3解释:如下图所示, 有 3 种可以从 s 中得到 “rabbit” 的方案。原创 2021-11-15 17:24:15 · 844 阅读 · 0 评论