zoukankan      html  css  js  c++  java
  • 0696. Count Binary Substrings (E)

    Count Binary Substrings (E)

    题目

    Give a string s, count the number of non-empty (contiguous) substrings that have the same number of 0's and 1's, and all the 0's and all the 1's in these substrings are grouped consecutively.

    Substrings that occur multiple times are counted the number of times they occur.

    Example 1:

    Input: "00110011"
    Output: 6
    Explanation: There are 6 substrings that have equal number of consecutive 1's and 0's: "0011", "01", "1100", "10", "0011", and "01".
    
    Notice that some of these substrings repeat and are counted the number of times they occur.
    
    Also, "00110011" is not a valid substring because all the 0's (and 1's) are not grouped together.
    

    Example 2:

    Input: "10101"
    Output: 4
    Explanation: There are 4 substrings: "10", "01", "10", "01" that have equal number of consecutive 1's and 0's.
    

    Note:

    s.length will be between 1 and 50,000.

    s will only consist of "0" or "1" characters.


    题意

    给定一个只包含1和0的字符串,取子串使满足:子串中字符1排在一起,字符0排在一起,且1的个数和0的个数相等,求这样的子串的个数。

    思路

    从左到右遍历字符串,将所有连续的字符归纳为一个组,相邻组A和B必定是不同字符的集合,那么A和B能组成的有效的子串的个数为min(A.len, B.len)。


    代码实现

    Java

    class Solution {
        public int countBinarySubstrings(String s) {
            int count = 0;
            int pre = 0, cur = 1;
            
            for (int i = 1; i < s.length(); i++) {
                if (s.charAt(i) == s.charAt(i - 1)) {
                    cur++;
                } else {
                    count += Math.min(pre, cur);
                    pre = cur;
                    cur = 1;
                }
            }
            count += Math.min(pre, cur);
            
            return count;
        }
    }
    
  • 相关阅读:
    iOS 关于NSNotificationCenter
    IOS UITableView reload 刷新某一个cell 或 section
    IOS AFNetWorking 设置超时时间
    IOS AFNetWorking
    IOS 十六进制字符串转换成UIColor
    IOS 长姿势---双击Home键
    IOS 关于 NSUserDefault
    方正璞华培训讲师
    localStorage使用总结
    Promise的简单用法
  • 原文地址:https://www.cnblogs.com/mapoos/p/14694134.html
Copyright © 2011-2022 走看看