题目描述
题目描述
题解
题解
提交记录
提交记录
困难

给你一个整数数组 nums。

如果一个子数组中所有元素的 按位与 运算结果等于该子数组的 最小值 ,则称该子数组为 一致子数组 。

返回 nums 中 一致子数组 的个数。

子数组 是数组中一个连续、非空的元素序列。

 

示例 1:

输入: nums = [5,3,1,2]

输出: 6

解释:

以下子数组是一致子数组:

子数组包含的值按位与最小值
nums[0..0][5]55
nums[1..1][3]33
nums[2..2][1]11
nums[3..3][2]22
nums[1..2][3, 1]3 & 1 = 11
nums[0..2][5, 3, 1]5 & 3 & 1 = 11

因此,一致子数组的个数为 6。

示例 2:

输入: nums = [1,1,1]

输出: 6

解释:

对于每个子数组,其按位与运算结果和最小值均等于 1。因此,答案为 6。

示例 3:

输入: nums = [0]

输出: 1

解释:

唯一的子数组是 [0],其按位与运算结果和最小值均为 0。因此,答案为 1。

 

提示:

  • 1 <= nums.length <= 2 * 105
  • 0 <= nums[i] <= 106
 
代码
代码
测试用例
测试用例
测试结果
测试结果