给你一个长度为 m 的字符串 s,其中仅包含数字。另给你一个二维整数数组 queries,其中 queries[i] = [li, ri]。
对于每个 queries[i],提取 子串 s[li..ri],然后执行以下操作:
x。如果没有非零数字,则 x = 0。sum 为 x 中所有数字的 数字和 。答案为 x * sum。返回一个整数数组 answer,其中 answer[i] 是第 i 个查询的答案。
由于答案可能非常大,请返回其对 109 + 7 取余数的结果。
子串 是字符串中的一个连续、非空 字符序列。
示例 1:
输入: s = "10203004", queries = [[0,7],[1,3],[4,6]]
输出: [12340, 4, 9]
解释:
s[0..7] = "10203004"
x = 1234sum = 1 + 2 + 3 + 4 = 101234 * 10 = 12340。s[1..3] = "020"
x = 2sum = 22 * 2 = 4。s[4..6] = "300"
x = 3sum = 33 * 3 = 9。示例 2:
输入: s = "1000", queries = [[0,3],[1,1]]
输出: [1, 0]
解释:
s[0..3] = "1000"
x = 1sum = 11 * 1 = 1。s[1..1] = "0"
x = 0sum = 00 * 0 = 0。示例 3:
输入: s = "9876543210", queries = [[0,9]]
输出: [444444137]
解释:
s[0..9] = "9876543210"
x = 987654321sum = 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 = 45987654321 * 45 = 44444444445。44444444445 mod (109 + 7) = 444444137。
提示:
1 <= m == s.length <= 105s 仅由数字组成。1 <= queries.length <= 105queries[i] = [li, ri]0 <= li <= ri < m