1513. Number of Substrings With Only 1s
题目简介
/**
* @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)
};