关注
#include<bits/stdc++.h>
using namespace std;
/*
O(n)
*/
void add(int cnt[],int num,int& count){
int i=0;
while(num){
if(num&1){//如果该数字当前位为1
cnt[i]++;
if(cnt[i]==1)
count++;
}
num>>=1;
}
}
void sub(int cnt[],int num,int& count){
int i=0;
while(num){
if(num&1){
cnt[i]--;
if(cnt[i]==0) count--;
}
num>>=1;
}
}
int main()
{
int n;
cin>>n;
vector<int> nums(n,0);
int maxVal=0;
int res=n;
int cnt[32]={0};//统计每一位1出现的次数
int w[32]={0};//统计窗口中每一位上1出现的次数
int count=0;
int tmp=0;
for(int i=0; i<n; i++)
{
cin>>nums[i];
maxVal|=nums[i];
add(cnt,nums[i],count);
}
int left=0,right=0;
while(right<n)
{
add(w,nums[right++],tmp);
while(tmp==count){
res=min(res,right-left);
sub(w,nums[left++],tmp);
}
}
cout<<res<<endl;
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
Govai苦艾酒:目前百度OC了
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
172640次浏览 2921人参与
# 找工作,行业重要还是岗位重要? #
85296次浏览 1688人参与
# 职场上哪些行为很加分? #
306880次浏览 3452人参与
# 大家每天通勤多久? #
69768次浏览 442人参与
# 实习的内耗时刻 #
211154次浏览 1539人参与
# 你面试体验感最差/最好的公司 #
17669次浏览 291人参与
# 一人说一个提前实习的好处 #
10643次浏览 204人参与
# 今年你最想重开的一场面试是? #
4032次浏览 69人参与
# 秋招落幕,你是He or Be #
12014次浏览 237人参与
# 互联网行业现在还值得去吗 #
46904次浏览 351人参与
# 实习没事做是福还是祸? #
16674次浏览 255人参与
# 面试吐槽bot #
164989次浏览 814人参与
# 重来一次,你会对开始求职的自己说 #
6023次浏览 153人参与
# 反问环节如何提问 #
126365次浏览 2663人参与
# 礼物开箱Plog #
672次浏览 24人参与
# 工作中听到最受打击的一句话 #
6560次浏览 113人参与
# 团建是“福利”还是是 “渡劫” #
7137次浏览 150人参与
# 我的第一份实习怎么找的 #
208536次浏览 1827人参与
# 比亚迪工作体验 #
74689次浏览 281人参与
# 大家实习每天都在干啥 #
106516次浏览 581人参与