力扣-1758. 生成交替二进制字符串的最少操作数
本文最后更新于:2022年11月29日 上午
题目描述

思路及实现
土方法遍历
不想思考?那就遍历吧。设置两个bool变量和两个计数变量,遇到需要修改的地方计数加一,最后返回小的那个就好了。
这里两个bool变量分别对应01和10的情况,每循环一次都修改一次就能达到目的。
1 | |
找规律
这不都知道字符串最后无非都会变成0101...和1010...的情况了嘛,可以根据这个知道,如果其中一种情况需要改变的次数为cnt_a,那么另外一种情况需要改变的次数就是cnt_b = len(s) - cnt_a,这样就能降低点复杂度。
我们又能知道,0和1无非就是奇数和偶数,根据遍历时候的每一位索引余2的结果来产生0和1又可以降低一点复杂度。
1 | |

希望本文章能够帮到您~
力扣-1758. 生成交替二进制字符串的最少操作数
https://map1e-g.github.io/2022/11/29/leetcode-1758/