题目描述
给你一个二进制字符串 s
(仅由'0'
和'1'
组成的字符串)。
返回所有字符都为 1
的子字符串的数目。
由于答案可能很大,请你将它对10^9 + 7
取模后返回。
示例 1:
输入:s = "0110111"
输出:9
解释:共有 9 个子字符串仅由 '1' 组成
"1" -> 5 次
"11" -> 3 次
"111" -> 1 次
示例 2:
输入:nums = [1,1,1,1]
输出:6
解释:数组中的每组数字都是好数对
示例 3:
输入:nums = [1,2,3]
输出:0
提示:
1 <= nums.length <= 100
1 <= nums[i] <= 100
解题思路
10 ^ 9 + 7
是取模的惯用数字。用C++表示就是1e9 + 7
,但是是double类型的,如果需要和long long
型取模 需要转换成整型。10 ^ 9 + 7
用数字表示是100000007
。写错了那就错了。- 整型、长整型、双长整型。
代码实现
class Solution