我遇到了以下问题,
查找字符串中包含相同数量的1&0和0的子串的总数。此外,子字符串应连续0,然后连续1,反之亦然。
例如,
1010 - 10,01,10
1100110- 1100,10,0011,01,10.
我最初的想法是使用n ^ 2循环查找所有子字符串,然后检查条件是否满足。显然必须有一个更好的解决方案,因为我无法通过所有案件。
请提出改进建议。谢谢。
答案 0 :(得分:3)
我建议如下 - 为每个连续的0或1的长度为L(k)的序列迭代你的序列(除了第一个)加到计数器min(L(k),L(k- 1))。计数器的最终值将是您要查找的数字。
对于你的例子1100110
L =(2,2,2,1)
总和为2 + 2 + 1 = 5