完美字符串定义如下:如果一个字符串不包含“010”或“101”作为子序列,则称该字符串为完美字符串。例如,“1001”包含“101”作为子序列,因此它不是一个完美字符串,而“1000”既不包含“010”也不包含“101”作为子序列,因此它是一个完美字符串。
子序列定义如下:如果可以通过删除几个(可能是零或全部)字符从b获得a,则称字符串a是字符串b的子序列。
现给我们一个二进制字符串s(字符串中只包含字符“0”和“1”的字符串),我们可以对字符串s执行以下操作任意次:
操作:选择字符串的一个索引,并翻转该索引处字符,也就是说,如果原字符是“0”,翻转后就会变成“1”,反之亦然。
请问,我们最少要执行多少次上述操作,才能使该字符串变换为完美字符串?可以证明,通过执行上述操作若干次,我们可以使任意一个字符串变换为完美字符串。