技术标签: Set 子数组按位或操作 Bitwise ORs of Subarrays leetcode LeetCode 898.
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.)
Note:
1 <= A.length <= 50000
0 <= A[i] <= 10^9
Example 1:
Input: [0]
Output: 1
Explanation:
There is only one possible result: 0.
Example 2:
Input: [1,1,2]
Output: 3
Explanation:
The possible subarrays are [1], [1], [2], [1, 1], [1, 2], [1, 1, 2].
These yield the results 1, 1, 2, 1, 3, 3.
There are 3 unique values, so the answer is 3.
Example 3:
Input: [1,2,4]
Output: 6
Explanation:
The possible results are 1, 2, 3, 4, 6, and 7.
从前向后扫描一边数组,每遇到一个新的值,把这个值和之前所有可能的结果bitwise or一遍。
然后bitwise or的结果插入到res数组中。
最后返回res数组的长度。
class Solution {
public:
int subarrayBitwiseORs(vector<int>& A) {
unordered_set<int> res;
unordered_set<int> prev;
for (auto &a : A) {
unordered_set<int> curr;
curr = {
a};
for (auto &p : prev) {
curr.insert(p | a);
}
prev = curr;
res.insert(prev.begin(), prev.end());
}
return res.size();
}
};
在终端中输入:cd /dev/ls -al tty 就可以找到了。如果在程序中使用,在port处填/dev/这里填串口
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html lang="en"><head><meta http-equiv="Content-Type" content="text/html;ch...
springboot+thymeleaf+ajax局部刷新
重新安装了新版本的 Perl,过程记录如下: 1、在官方网站下载新版本的源码包:http://www.perl.org/get.html,版本自己选择,我下载的是perl-5.12.2.tar.gz2、解压/usr/local/src下的perl-5.12.2.tar.gz # tar zxvf perl-5.12.2.tar.gz3、建立文件目录,以供安装时使用
1打开地理文档,加载地理配准工具条2点击内容列表缩放到图层,在点击地理配准适应显示范围3.点击地理配准----变换--一次多项式(仿射)4.更新地理配准5点击地理配准纠正----纠正另存为...
android-async-http-1.4.9使用时cz.msebera.android.httpclient.Header会出现Header[] headers找不到的错误网上查询到解决方法是:dependencies {compile 'cz.msebera.android:httpclient:4.3.6'}
注意:1.Q1工作在放大状态,射极输出,射极电压始终小于基极0.7V。2.注意稳压管的使用。3.接按键的地方要注意去抖滤波,图中R6,C4构成了延时滤波电路。注意:此电路的主要特点开通慢关断快,可以使电机稳定可靠运作,避免了上下三极管串通现象。1.由R11、C5、D9构成了上电延时到阈值电压,实现了开通慢。Q5、R16实现了关断快。
搭建Keepalived+Nginx高可用服务架构如果nginx服务存在异常,上面的负载均衡架构就面临问题,服务不可用。这个时候就会采用高可用方案了,简单的高可用是一般主从备份机制。我们可以使用2台机器,作为主、备服务器,各自运行nginx服务。需要一个监控程序,来控制传输主、备之间的心跳信息(我是否还活着的信息),如果备份机在一段时间内没有收到主的发送信息,则认为主已经挂了,自己上去挑...
ZN-ZNSDHX交通信号灯实训装置|交通信号灯实训系统设备一、概述本装置是PLC学习中典型的执行机构,本设备可模拟复杂的十字路口交通信号控制系统,包括车辆直行、行人直行、过街手动按钮等的逻辑控制。二、主要特点1、直观的环境界面,便于操作和理解。2、可做复杂交通环境的现场模拟。三、性能参数3、输入电源:AC220V±10%(单相三线);4、整机功率:<1kVA;5、外形尺寸:500×350×680mm。四、产品涉及课程可编程控制器及其应用等。五、试验内容6、机械:装置的机械安装与
广义表:#广义表及结点的表示法#typedef enum{atom,list}NodeTag;typedef struct GLNode{ NodeTag tag; union{ DataType data; GLNode *slink; }; GLNode *next;}* Glist; //为一个指针; #广义表的基本操作实现##1.广义表元素的添加#
RSA和AES双向加密(Android 和 Java)CSDNGithub接口数据加密方案:客户端请求时数据加密,服务端解密;服务端返回数据时加密,客户端再去解密;需要两对公钥和私钥RSA非对称加密,公钥加密,私钥去解密,AES是对称加密,由于RSA加密数据有上限,需要做分段加解密处理,在解密时很容易报错,所以用RSA公钥去加密AES,AES去加解密内容在做的...
自己修改第3行的Java安装目录就可以设置JAVA_HOME, classPath,追加到PATH的最前面JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10classPath=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;.PATH=%JAVA_HOME%\bin;............ ...