跳转至

4111. 统计一致子数组数目 I

难度简单

题目描述

给你一个整数数组 nums。

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

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

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

 

示例 1:

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

输出: 6

解释:

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

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

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

示例 2:

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

输出: 6

解释:

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

示例 3:

输入: nums = [0]

输出: 1

解释:

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

 

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 100

解法

方法一

1

1

1

1

评论