1513. Number of Substrings With Only 1s

Leetcode link

题目简介

/**
 * @param {string} s
 * @return {number}
 */

题目给我们一个字符串 s,字符串由 0 与 1 组成

题目要求我们求出可能有多少个全 1 的子字符串

由于数量可能过大,最后我们要对结果取 mod (10 ** 9 + 7)

解题思路

我们可以把字符串 s 拆分成若干个全部都是 1 组成的字符串

对于每一个全 1 组成的字符串来说,总共会有 (1 + length) * length / 2 种可能的子字符串

我们把它全部加总后取 mod 就好

Javascript

/**
 * @param {string} s
 * @return {number}
 */
var numSub = function (s) {
    const arr = s.split('0')
    let res = 0

    for (const str of arr) {
        const len = str.length
        res += (1 + len) * len / 2
    }
    return res % (10 ** 9 + 7)
};

results matching ""

    No results matching ""