Leetcode-3501-操作后最大活跃区段数-II
发表于|更新于|算法题解
|浏览量:
文章作者: 十七
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 林间笔记!
相关推荐
2026-09-12
Leetcode-3414-不重叠区间的最大得分
题目3414. 不重叠区间的最大得分 给你一个二维整数数组 intervals,其中 intervals[i] = [l_i, r_i, weight_i]。区间 i 的起点为 l_i,终点为 r_i,权重为 weight_i。你最多可以选择 4 个互不重叠的区间。所选择区间的得分定义为这些区间权重的总和。 返回一个数组,包含从 intervals 中选出的至多 4 个区间的下标(原始下标),使得得分最大。如果有多个方案得分相同,返回字典序最小的那个。 注意:区间 [a, b] 包含端点,即两个区间共享端点也算重叠。 示例 1: 123输入:intervals = [[1,3,2],[4,5,2],[1,5,5],[6,9,3],[6,7,1],[8,9,1]]输出:[2,3]解释:可以选择下标为 2 和 3 的区间,其权重分别为 5 和 3。 示例 2: 123输入:intervals = [[5,8,1],[6,7,7],[4,7,3],[9,10,6],[7,8,2],[11,14,3],[3,5,5]]输出:[1,3,5,6]解释:可以选择下标为 1、3、5 和 6 的...
2026-07-20
Leetcode-1260-二维网格迁移
题目1260. 二维网格迁移 给你一个 m 行 n 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。 每次「迁移」操作会引发下述活动: 位于 grid[i][j](j < n - 1)的元素会移动到 grid[i][j + 1]。 位于 grid[i][n - 1] 的元素会移动到 grid[i + 1][0]。 位于 grid[m - 1][n - 1] 的元素会移动到 grid[0][0]。 请返回 k 次迁移操作后最终得到的 二维网格。 示例 1: 12输入:grid = [[1,2,3],[4,5,6],[7,8,9]], k = 1输出:[[9,1,2],[3,4,5],[6,7,8]] 示例 2: 12输入:grid = [[3,8,1,9],[19,7,2,5],[4,6,11,10],[12,0,21,13]], k = 4输出:[[12,0,21,13],[3,8,1,9],[19,7,2,5],[4,6,11,10]] 示例 3: 12输入:grid = [[1,2,3],[4,5,6],[7,8,9]], k = 9...
2026-08-14
Leetcode-3090-每个字符最多出现两次的最长子字符串
题目3090. 每个字符最多出现两次的最长子字符串 给你一个字符串 s,请返回满足以下条件的最长子字符串的长度: 每个字符最多出现两次。 示例 1: 123输入:s = "bcbbbcba"输出:4解释:以下子字符串长度为 4,并且每个字符最多出现两次:"bcba"(b 出现 2 次,c 出现 1 次,a 出现 1 次)。 示例 2: 123输入:s = "aaaa"输出:2解释:以下子字符串长度为 2,并且每个字符最多出现两次:"aa"。 提示: 2 <= s.length <= 100 s 仅包含小写英文字母。 思路滑动窗口本题是 3. 无重复字符的最长子串 的变体,只需把「每个字符最多出现 1 次」放宽为「最多出现 2 次」,套用同一个不定长滑动窗口模板: right 不断右移,将新字符加入窗口,频次 +1; 若该字符频次超过 2,说明窗口不合法,从 left 开始收缩:移除 left 处字符,频次 -1,left++,直到该字符频次 ≤ 2; 此时窗口 [left, ...
2026-07-21
Leetcode-3499-操作后最大活跃区段数-I
题目3499. 操作后最大活跃区段数 I 给你一个二进制字符串 s,其中: '1' 表示一个活跃区段。 '0' 表示一个非活跃区段。 定义一次操作分为两个步骤: 选择一个两侧都是 '0' 的连续 '1' 区块,将其全部变为 '0'。 然后,选择一个两侧都是 '1' 的连续 '0' 区块,将其全部变为 '1'。 注意:处理时在 s 前、后各添加一个虚拟的 '1'(即等效字符串 t = '1' + s + '1'),两个虚拟 '1' 不计入最终结果。 你最多可以执行 一次 操作。请你计算并返回操作后活跃区段的最大数量。 示例 1: 123输入:s = "01"输出:1解释:字符串中没有两侧都是 '0' 的 '1' 区块,无法执行操作。 示例 2: 1234567输入:s = "0100"输出:4解释:- 虚...
2026-09-02
Leetcode-3875-构造奇偶一致的数组-I
题目3875. 构造奇偶一致的数组 I 给你一个长度为 n 的数组 nums1,其中包含 互不相同 的整数。 你需要构造另一个长度为 n 的数组 nums2,使得 nums2 中的元素要么全部为奇数,要么全部为偶数。 对于每个下标 i,你必须从以下两种选择中任选其一(顺序不限): nums2[i] = nums1[i] nums2[i] = nums1[i] - nums1[j],其中 j ≠ i 如果可以构造出满足条件的数组 nums2,返回 true;否则返回 false。 示例 1: 123输入:nums1 = [2,3]输出:true解释:nums2[0] = 2 - 3 = -1(奇数),nums2[1] = 3(奇数)。nums2 = [-1, 3] 全为奇数。 示例 2: 123输入:nums1 = [4,6]输出:true解释:nums2[0] = 4,nums2[1] = 6。nums2 = [4, 6] 全为偶数。 提示: 2 <= n <= 100 -10^5 <= nums1[i] <= 10^5 思路奇偶性的三条运算规...
2026-08-15
Leetcode-3702-按位异或非零的最长子序列
题目3702. 按位异或非零的最长子序列 给你一个整数数组 nums,请你返回 nums 中最长的子序列的长度,使得该子序列所有元素的按位异或结果非零。如果不存在这样的子序列,返回 0。 子序列 是指从原数组中删除一些(或不删除)元素,且不改变剩余元素顺序得到的非空数组。 示例 1: 123输入:nums = [1,2,3]输出:2解释:最长的按位异或非零子序列是 [2,3](2 ^ 3 = 1)或 [1,2](1 ^ 2 = 3),长度为 2。 示例 2: 123输入:nums = [0,0,0]输出:0解释:任何子序列的异或结果都是 0,不存在非零异或的子序列。 示例 3: 123输入:nums = [5]输出:1解释:整个数组的异或结果为 5,非零,长度为 1。 提示: 1 <= nums.length <= 10^5 0 <= nums[i] <= 10^9 思路异或的核心性质本题的关键在于利用异或运算的以下性质: 自反性:a ^ a = 0,任何数与自身异或得 0。 恒等性:a ^ 0 = a,任何数与 0 异或等于自身。 交换律与结...
公告
This is my Blog