給定乙個字串s
,計算具有相同數量0和1的非空(連續)子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。
重複出現的子串要計算它們出現的次數。
示例 1 :
輸入: "00110011"示例 2 :輸出: 6
解釋: 有6個子串具有相同數量的連續1和0:「0011」,「01」,「1100」,「10」,「0011」 和 「01」。
請注意,一些重複出現的子串要計算它們出現的次數。
另外,「00110011」不是有效的子串,因為所有的0(和1)沒有組合在一起。
輸入: "10101"注意:輸出: 4
解釋: 有4個子串:「10」,「01」,「10」,「01」,它們具有相同數量的連續1和0。
統計連續的0或者1的個數存進乙個陣列,那麼總的組合數就是相鄰的個數的最小值的加和
把字串變成陣列進行遍歷效率會提公升。
class solution {
public:
int countbinarysubstrings(string s) {
int result=0,count =1;
vectornum;
for(int i = 1;i
LeetCode 696 計數二進位制子串
給定乙個字串s,計算具有相同數量0和1的非空 連續 子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。重複出現的子串也要計算它們出現的次數。輸入 00110011 輸出 6 解釋 有6個子串具有相同數量的連續1和0 0011 01 1100 10 0011 和 01 一次遍歷即可,關鍵...
leetcode 696 計數二進位制子串
696.計數二進位制子串 給定乙個字串 s,計算具有相同數量0和1的非空 連續 子字串的數量,並且這些子字串中的所有0和所有1都是組合在一起的。重複出現的子串要計算它們出現的次數。示例 1 輸入 00110011 輸出 6 解釋 有6個子串具有相同數量的連續1和0 0011 01 1100 10 0...
leetcode696 計數二進位制子串
題解1 dp dp i 表示當前位置 包括自身 前面連續為 1 或 0 的個數 連續為 1 個數為正,連續為 0 個數為負 當前dp i 數字等於總個數則 continue 否則當前abs dp i abs dp i abs dp i res class solution return res 題解...