給定乙個字串 s,計算具有相同數量0和1的非空(連續)子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。
重複出現的子串要計算它們出現的次數。
示例 1 :
輸入:
"00110011"
輸出:6
解釋: 有6個子串具有相同數量的連續1和0:「0011」,「01」,「1100」,「10」,「0011」 和 「01」。
請注意,一些重複出現的子串要計算它們出現的次數。
另外,「00110011」不是有效的子串,因為所有的0(和1)沒有組合在一起。
示例 2 :
輸入:
"10101"
輸出:4
解釋: 有4個子串:「10」,「01」,「10」,「01」,它們具有相同數量的連續1和0。
注意:
s.length 在1到50
,000之間。
s 只包含「0」或「1」字元。
class
solution
。 vector<
int> counts;
int idx =
0, n = s.
size()
;while
(idx < n)
counts.
push_back
(count);}
int res =0;
//遍歷counts陣列,將每組相鄰2個數的最小值全部累加就是答案。
for(
int i =
1; i < counts.
size()
; i++
)return res;}}
;
class
solution
res +
=min
(last, cnt)
; last = cnt;
}return res;}}
;
參考:計數二進位制子串 696 計數二進位制子串 C
題目詳情 給定乙個字串 s,計算具有相同數量0和1的非空 連續 子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。重複出現的子串要計算它們出現的次數。示例 1 輸入 00110011 輸出 6 解釋 有6個子串具有相同數量的連續1和0 0011 01 1100 10 0011 和 01...
696 計數二進位制子串
給定乙個字串 s,計算具有相同數量0和1的非空 連續 子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。重複出現的子串要計算它們出現的次數。示例 1 輸入 00110011 輸出 6 解釋 有6個子串具有相同數量的連續1和0 0011 01 1100 10 0011 和 01 請注意,...
696 計數二進位制子串
給定乙個字串 s,計算具有相同數量0和1的非空 連續 子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。重複出現的子串要計算它們出現的次數。示例 1 輸入 00110011 輸出 6 解釋 有6個子串具有相同數量的連續1和0 0011 01 1100 10 0011 和 01 請注意,...