2683. 相邻值的按位异或

题目 下标从 0 开始、长度为 n 的数组 derived 是由同样长度为 n 的原始 二进制数组 original 通过计算相邻值的 按位异或(⊕)派生而来。 特别地,对于范围 [0, n - 1] 内的每个下标 i : * 如果 i = n - 1 ,那么 derived[i] = original[i] ⊕ original[0] * 否则 derived[i] = original[i] ⊕ original[i + 1] 给你一个数组 derived ,请判断是否存在一个能够派生得到 derived 的 有效原始二进制数组…

2561. 重排水果

题目 你有两个果篮,每个果篮中有 n 个水果。给你两个下标从 0 开始的整数数组 basket1 和 basket2 ,用以表示两个果篮中每个水果的交换成本。你想要让两个果篮相等。为此,可以根据需要多次执行下述操作: * 选中两个下标 i 和 j ,并交换 basket1 中的第 i 个水果和 basket2 中的第 j 个水果。 * 交换的成本是 min(basket1i,basket2j) 。 根据果篮中水果的成本进行排序,如果排序后结果完全相同,则认为两个果篮相等。 返回使两个果篮相等的最小交换成本,如果无法使两个果篮相等,则返回 -1 。 示例 1: 输入:basket1 = [4,2,2,2], basket2 = [1,4,…

2419. 按位与最大的最长子数组

题目 给你一个长度为 n 的整数数组 nums 。 考虑 nums 中进行 按位与(bitwise AND)运算得到的值 最大 的 非空 子数组。 * 换句话说,令 k 是 nums 任意 子数组执行按位与运算所能得到的最大值。那么,只需要考虑那些执行一次按位与运算后等于 k 的子数组。 返回满足要求的 最长 子数组的长度。 数组的按位与就是对数组中的所有数字进行按位与运算。 子数组 是数组中的一个连续元素序列。 示例 1: 输入:nums = [1,2,3,3,2,2] 输出:2 解释: 子数组按位与运算的最大值是 3 。 能得到此结果的最长子数组是 [3,…

2411. 按位或最大的最小子数组长度

题目 给你一个长度为 n 下标从 0 开始的数组 nums ,数组中所有数字均为非负整数。对于 0 到 n - 1 之间的每一个下标 i ,你需要找出 nums 中一个 最小 非空子数组,它的起始位置为 i (包含这个位置),同时有 最大 的 按位或****运算值 。 * 换言之,令 Bij 表示子数组 nums[i...j] 的按位或运算的结果,你需要找到一个起始位置为 i 的最小子数组,这个子数组的按位或运算的结果等于 max(Bik) ,其中 i <= k <= n -…

2322. 从树中删除边的最小分数

题目 存在一棵无向连通树,树中有编号从 0 到 n - 1 的 n 个节点, 以及 n - 1 条边。 给你一个下标从 0 开始的整数数组 nums ,长度为 n ,其中 nums[i] 表示第 i 个节点的值。另给你一个二维整数数组 edges ,长度为 n - 1 ,其中 edges[i] = [ai, bi] 表示树中存在一条位于节点 ai 和 bi 之间的边。 删除树中两条 不同 的边以形成三个连通组件。对于一种删除边方案,定义如下步骤以计算其分数: 1.…

2210. 统计数组中峰和谷的数量

题目 给你一个下标从 0 开始的整数数组 nums 。如果两侧距 i 最近的不相等邻居的值均小于 nums[i] ,则下标 i 是 nums 中,某个峰的一部分。类似地,如果两侧距 i 最近的不相等邻居的值均大于 nums[i] ,则下标 i 是 nums 中某个谷的一部分。对于相邻下标 i 和 j ,如果 nums[i] == nums[j] , 则认为这两下标属于 同一个 峰或谷。 注意,要使某个下标所做峰或谷的一部分,那么它左右两侧必须 都 存在不相等邻居。 返回 nums 中峰和谷的数量。 示例 1: 输入:…

2163. 删除元素后和的最小差值

题目 给你一个下标从 0 开始的整数数组 nums ,它包含 3 * n 个元素。 你可以从 nums 中删除 恰好 n 个元素,剩下的 2 * n 个元素将会被分成两个 相同大小 的部分。 * 前面 n 个元素属于第一部分,它们的和记为 sumfirst 。 * 后面 n 个元素属于第二部分,它们的和记为 sumsecond 。 两部分和的 差值 记为 sumfirst - sumsecond 。 * 比方说,sumfirst = 3 且 sumsecond = 2 ,它们的差值为 1 。 * 再比方,sumfirst = 2 且 sumsecond…

2106. 摘水果

在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组 fruits ,其中 fruits[i] = [position_i, amount_i] 表示共有 amount_i 个水果放置在 position_i 上。fruits 已经按 position_i 升序排列 ,每个 position_i 互不相同 。 另给你两个整数 startPos 和 k 。最初,你位于 startPos 。从任何位置,你可以选择 向左或者向右 走。在 x 轴上每移动 一个单位 ,就记作 一步 。你总共可以走 最多 k 步。…