【发布时间】:2021-09-20 08:55:09
【问题描述】:
假设 S 是一个只包含 0 和 1 的字符串,我想统计 S 中 0 的个数小于 1 的个数的非空子串的个数。
使用下面给出的蛮力方法,我们可以有一个算法在 O(n^2) 内解决这个问题:
moreOnes(s):
count = 0
n = s.len()
for i = 1 to n
one = 0
zero = 0
for j = i to n
if s[i] == '1'
one++
else
zero++
if one > zero
count++
return count
但是我们能不能有一个算法具有更好的时间复杂度 O(n*logn) 或 O(n),空间复杂度从 O(1) 到 O(n)?
【问题讨论】:
标签: algorithm subset string-decoding binary-string