zoukankan      html  css  js  c++  java
  • 1513. Number of Substrings With Only 1s

    package LeetCode_1513
    
    /**
     * 1513. Number of Substrings With Only 1s
     * https://leetcode.com/problems/number-of-substrings-with-only-1s/
     *
    Given a binary string s (a string consisting only of '0' and '1's).
    Return the number of substrings with all characters 1's.
    Since the answer may be too large, return it modulo 10^9 + 7.
    
    Example 1:
    Input: s = "0110111"
    Output: 9
    Explanation: There are 9 substring in total with only 1's characters.
    "1" -> 5 times.
    "11" -> 3 times.
    "111" -> 1 time.
    
    Example 2:
    Input: s = "101"
    Output: 2
    Explanation: Substring "1" is shown 2 times in s.
    
    Example 3:
    Input: s = "111111"
    Output: 21
    Explanation: Each substring contains only 1's characters.
    
    Example 4:
    Input: s = "000"
    Output: 0
    
    Constraints:
    1. s[i] == '0' or s[i] == '1'
    2. 1 <= s.length <= 10^5
     * */
    class Solution {
        /*
        * solution: keep counting the consecutive 1 then update countOne and result, but reset countOne=0 when encounter 0
        * Time:O(n), Space:O(1)
        * */
        fun numSub(s: String): Int {
            var result = 0
            var countOne = 0
            val mod = 1000000007
            for (c in s) {
                if (c == '1') {
                    countOne++
                } else {
                    countOne = 0
                }
                result = (result + countOne) % mod
            }
            return result
        }
    }
  • 相关阅读:
    bootstrap之按钮和图片
    bootstrap之表单
    bootstrap之表格
    bootstrap+html5+css3
    网站链接
    linux下查看和添加PATH环境变量
    安装Memcache的PHP扩展
    ./configure
    如何学习前端?
    实战深度学习(下)OpenCV库
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/15144369.html
Copyright © 2011-2022 走看看