LC 898. Bitwise ORs of Subarrays
Posted ethanhong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LC 898. Bitwise ORs of Subarrays相关的知识,希望对你有一定的参考价值。
We have an array A
of non-negative integers.
For every (contiguous) subarray B = [A[i], A[i+1], ..., A[j]]
(with i <= j
), we take the bitwise OR of all the elements in B
, obtaining a result A[i] | A[i+1] | ... | A[j]
.
Return the number of possible results. (Results that occur more than once are only counted once in the final answer.)
Runtime: 652 ms
Memory Usage: 49.7 MB
class Solution { public: int subarrayBitwiseORs(vector<int>& A) { unordered_set<int> s; set<int> t; for(int i : A) { set<int> r; r.insert(i); for(int j : t) r.insert(j | i); t = r; for(int j : t) s.insert(j); } return s.size(); } };
以上是关于LC 898. Bitwise ORs of Subarrays的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] 898. Bitwise ORs of Subarrays 子数组按位或操作
子序列的按位或 Bitwise ORs of Subarrays
201. Bitwise AND of Numbers Range
201. Bitwise AND of Numbers Range