class Solution {
public:
//12-3;
//13-2;
//23-1;
//0 1 2 3 4 14 24 34
int state[8][6]={
{1,1,1,1,1,1},
{0,0,0,0,0,0},
{1,0,1,0,1,0},
{0,1,0,1,0,1},
{0,1,1,0,1,1},
{1,0,0,1,0,0},
{0,0,1,1,1,0},
{1,1,0,0,0,1}
};
int work(int n,vector<int>ops){
set<int>s;
for(auto op:ops){
int t=0;
for(int i=0;i<n;i++)
t=t*2+state[op][i];//二进制储存
s.insert(t);
}
return s.size();
}
int flipLights(int n, int m) {
n=min(n,6);
if(m==0) return work(n,{0});
else if(m==1) return work(n,{1,2,3,4});
else if(m==2) return work(n,{0,1,2,3,5,6,7});
else return work(n,{0,1,2,3,4,5,6,7});
}
};
LeetCode 672. 灯泡开关 Ⅱ
最新推荐文章于 2022-09-15 21:26:39 发布