看到大部分题解都有类似这样的写法:
if(st[i]=='W')
if(!a[0])a[0]=1,ans++;
if(st[i]=='B'){
if(a[0])a[0]=0,ans++;
if(!a[1])a[1]=1,ans++;
}
if(st[i]=='R'){
if(!a[2])a[2]=1,ans++;
if(a[1])a[1]=0,ans++;
if(a[0])a[0]=0,ans++;
}
但是其实可以这样写,会短很多:
if(st[i]=='W')ans+=!a[0],a[0]=1;
if(st[i]=='B')ans+=a[0]+!a[1],a[0]=0,a[1]=1;
if(st[i]=='B')ans+=a[0]+a[1]+!a[2],a[0]=0,a[1]=0,a[2]=1;