# [898. 子数组按位或操作](https://leetcode-cn.com/problems/bitwise-ors-of-subarrays) [English Version](/solution/0800-0899/0898.Bitwise%20ORs%20of%20Subarrays/README_EN.md) ## 题目描述 <!-- 这里写题目描述 --> <p>我们有一个非负整数数组 <code>A</code>。</p> <p>对于每个(连续的)子数组 <code>B = [A[i], A[i+1], ..., A[j]]</code> ( <code>i <= j</code>),我们对 <code>B</code> 中的每个元素进行按位或操作,获得结果 <code>A[i] | A[i+1] | ... | A[j]</code>。</p> <p>返回可能结果的数量。 (多次出现的结果在最终答案中仅计算一次。)</p> <p> </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>示例 3:</strong></p> <pre><strong>输入:</strong>[1,2,4] <strong>输出:</strong>6 <strong>解释:</strong> 可能的结果是 1,2,3,4,6,以及 7 。 </pre> <p> </p> <p><strong>提示:</strong></p> <ol> <li><code>1 <= A.length <= 50000</code></li> <li><code>0 <= A[i] <= 10^9</code></li> </ol> ## 解法 <!-- 这里可写通用的实现逻辑 --> <!-- tabs:start --> ### **Python3** <!-- 这里可写当前语言的特殊实现逻辑 --> ```python ``` ### **Java** <!-- 这里可写当前语言的特殊实现逻辑 --> ```java ``` ### **...** ``` ``` <!-- tabs:end -->