3477. 水果成篮 II

题目 给你两个长度为 n 的整数数组,fruits 和 baskets,其中 fruits[i] 表示第 i 种水果的 数量,baskets[j] 表示第 j 个篮子的 容量。 你需要对 fruits 数组从左到右按照以下规则放置水果: * 每种水果必须放入第一个 容量大于等于 该水果数量的 最左侧可用篮子 中。 * 每个篮子只能装 一种 水果。 * 如果一种水果 无法放入 任何篮子,它将保持 未放置。 返回所有可能分配完成后,剩余未放置的水果种类的数量。 示例 1 输入: fruits = [4,2,5], baskets = [3,5,4] 输出:…

3363. 最多可收集的水果数目

题目 有一个游戏,游戏由 n x n 个房间网格状排布组成。 给你一个大小为 n x n 的二维整数数组 fruits ,其中 fruits[i][j] 表示房间 (i, j) 中的水果数目。有三个小朋友 一开始 分别从角落房间 (0, 0) ,(0, n - 1) 和 (n - 1, 0) 出发。 每一位小朋友都会 恰好 移动 n - 1 次,并到达房间 (n - 1, n - 1)…

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: 输入:…