🗒️ 2588. 统计美丽子数组数目

给你一个下标从 0 开始的整数数组nums 。每次操作中,你可以: • 选择两个满足 0 <= i, j < nums.length 的不同下标 i 和 j 。 • 选择一个非负整数 k ,满足 nums[i] 和 nums[j] 在二进制下的第 k 位(下标编号从 0 开始)是 1 。 • 将 nums[i] 和 nums[j] 都减去 2k 。 如果一个子数组内执行上述操作若干次后,该子数组可以变成一个全为 0 的数组,那么我们称它是一个 美丽 的子数组。 请你返回数组 nums 中 美丽子数组 的数目。 子数组是一个数组中一段连续 非空 的元素序列。

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

给你一个长度为 n 的整数数组 nums 。 考虑 nums 中进行 按位与(bitwise AND)运算得到的值 最大 的 非空 子数组。 • 换句话说,令 k 是 nums 任意 子数组执行按位与运算所能得到的最大值。那么,只需要考虑那些执行一次按位与运算后等于 k 的子数组。 返回满足要求的 最长 子数组的长度。 数组的按位与就是对数组中的所有数字进行按位与运算。 子数组 是数组中的一个连续元素序列。

🗒️ 1318. 或运算的最小翻转次数

给你三个正整数 a、b 和 c。 你可以对 a 和 b 的二进制表示进行位翻转操作,返回能够使按位或运算   a OR b == c  成立的最小翻转次数。 「位翻转操作」是指将一个数的二进制表示任何单个位上的 1 变成 0 或者 0 变成 1 。

🗒️ 2980. 检查按位或是否存在尾随零

给你一个 正整数 数组 nums 。 你需要检查是否可以从数组中选出 两个或更多 元素,满足这些元素的按位或运算( OR)结果的二进制表示中 至少 存在一个尾随零。 例如,数字 5 的二进制表示是 "101",不存在尾随零,而数字 4 的二进制表示是 "100",存在两个尾随零。 如果可以选择两个或更多元素,其按位或运算结果存在尾随零,返回 true;否则,返回 false 。

🗒️ 2317. 操作后的最大异或和

给你一个下标从 0 开始的整数数组 nums 。一次操作中,选择 任意 非负整数 x 和一个下标 i ,更新 nums[i] 为 nums[i] AND (nums[i] XOR x) 。 注意,AND 是逐位与运算,XOR 是逐位异或运算。 请你执行 任意次 更新操作,并返回 nums 中所有元素 最大 逐位异或和。

🗒️ 2527. 查询数组异或美丽值

给你一个下标从 0 开始的整数数组 nums 。 三个下标 i ,j 和 k 的 有效值 定义为 ((nums[i] | nums[j]) & nums[k]) 。 一个数组的 异或美丽值 是数组中所有满足 0 <= i, j, k < n  的三元组 (i, j, k) 的 有效值 的异或结果。 请你返回 nums 的异或美丽值。 注意: • val1 | val2 是 val1 和 val2 的按位或。 • val1 & val2 是 val1 和 val2 的按位与。

🗒️ 2429. 最小异或

给你两个正整数 num1 和 num2 ,找出满足下述条件的正整数 x : • x 的置位数和 num2 相同,且 • x XOR num1 的值 最小 注意 XOR 是按位异或运算。 返回整数 x 。题目保证,对于生成的测试用例, x 是 唯一确定 的。 整数的 置位数 是其二进制表示中 1 的数目。

🗒️ 1442. 形成两个异或相等数组的三元组数目

给你一个整数数组 arr 。 现需要从数组中取三个下标 i、j 和 k ,其中 (0 <= i < j <= k < arr.length) 。 a 和 b 定义如下: • a = arr[i] ^ arr[i + 1] ^ ... ^ arr[j - 1] • b = arr[j] ^ arr[j + 1] ^ ... ^ arr[k] 注意:^ 表示 按位异或 操作。 请返回能够令 a == b 成立的三元组 (i, j , k) 的数目。

🗒️ 2997. 使数组异或和等于 K 的最少操作次数

给你一个下标从 0 开始的整数数组 nums 和一个正整数 k 。 你可以对数组执行以下操作 任意次 : • 选择数组里的 任意 一个元素,并将它的 二进制 表示 翻转 一个数位,翻转数位表示将 0 变成 1 或者将 1 变成 0 。 你的目标是让数组里 所有 元素的按位异或和得到 k ,请你返回达成这一目标的 最少 操作次数。 注意,你也可以将一个数的前导 0 翻转。比方说,数字 (101)2 翻转第四个数位,得到 (1101)2 。

🗒️ 1829. 每个查询的最大异或值

给你一个 有序 数组 nums ,它由 n 个非负整数组成,同时给你一个整数 maximumBit 。你需要执行以下查询 n 次: 1. 找到一个非负整数 k < 2maximumBit ,使得 nums[0] XOR nums[1] XOR ... XOR nums[nums.length-1] XOR k 的结果 最大化 。k 是第 i 个查询的答案。 2. 从当前数组 nums 删除 最后 一个元素。 请你返回一个数组 answer ,其中 answer[i]是第 i 个查询的结果。

🗒️ 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 的 有效原始二进制数组 original。 如果存在满足要求的原始二进制数组,返回 true ;否则,返回 false 。 • 二进制数组是仅由 0 和 1 组成的数组。

🗒️ 1310. 子数组异或查询

有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor ... xor arr[Ri])作为本次查询的结果。 并返回一个包含给定查询 queries 所有结果的数组。