# [898. 子数组按位或操作](https://leetcode-cn.com/problems/bitwise-ors-of-subarrays)

[English Version](/solution/0800-0899/0898.Bitwise%20ORs%20of%20Subarrays/README_EN.md)

## 题目描述

<!-- 这里写题目描述 -->

<p>我们有一个非负整数数组&nbsp;<code>A</code>。</p>

<p>对于每个(连续的)子数组&nbsp;<code>B =&nbsp;[A[i], A[i+1], ..., A[j]]</code> (&nbsp;<code>i &lt;= j</code>),我们对&nbsp;<code>B</code>&nbsp;中的每个元素进行按位或操作,获得结果&nbsp;<code>A[i] | A[i+1] | ... | A[j]</code>。</p>

<p>返回可能结果的数量。 (多次出现的结果在最终答案中仅计算一次。)</p>

<p>&nbsp;</p>

<p><strong>示例 1:</strong></p>

<pre><strong>输入:</strong>[0]
<strong>输出:</strong>1
<strong>解释:</strong>
只有一个可能的结果 0 。
</pre>

<p><strong>示例 2:</strong></p>

<pre><strong>输入:</strong>[1,1,2]
<strong>输出:</strong>3
<strong>解释:</strong>
可能的子数组为 [1],[1],[2],[1, 1],[1, 2],[1, 1, 2]。
产生的结果为 1,1,2,1,3,3 。
有三个唯一值,所以答案是 3 。
</pre>

<p><strong>示例&nbsp;3:</strong></p>

<pre><strong>输入:</strong>[1,2,4]
<strong>输出:</strong>6
<strong>解释:</strong>
可能的结果是 1,2,3,4,6,以及 7 。
</pre>

<p>&nbsp;</p>

<p><strong>提示:</strong></p>

<ol>
	<li><code>1 &lt;= A.length &lt;= 50000</code></li>
	<li><code>0 &lt;= A[i] &lt;= 10^9</code></li>
</ol>


## 解法

<!-- 这里可写通用的实现逻辑 -->

<!-- tabs:start -->

### **Python3**

<!-- 这里可写当前语言的特殊实现逻辑 -->

```python

```

### **Java**

<!-- 这里可写当前语言的特殊实现逻辑 -->

```java

```

### **...**

```

```

<!-- tabs:end -->