2025-01-09 20:29:41 +08:00
< p > You are given two numeric strings < code > num1< / code > and < code > num2< / code > and two integers < code > max_sum< / code > and < code > min_sum< / code > . We denote an integer < code > x< / code > to be < em > good< / em > if:< / p >
< ul >
< li > < code > num1 < = x < = num2< / code > < / li >
< li > < code > min_sum < = digit_sum(x) < = max_sum< / code > .< / li >
< / ul >
< p > Return < em > the number of good integers< / em > . Since the answer may be large, return it modulo < code > 10< sup > 9< / sup > + 7< / code > .< / p >
< p > Note that < code > digit_sum(x)< / code > denotes the sum of the digits of < code > x< / code > .< / p >
< p > < / p >
< p > < strong class = "example" > Example 1:< / strong > < / p >
< pre >
< strong > Input:< / strong > num1 = " 1" , num2 = " 12" , < code > min_sum< / code > = 1, max_sum = 8
< strong > Output:< / strong > 11
< strong > Explanation:< / strong > There are 11 integers whose sum of digits lies between 1 and 8 are 1,2,3,4,5,6,7,8,10,11, and 12. Thus, we return 11.
< / pre >
< p > < strong class = "example" > Example 2:< / strong > < / p >
< pre >
< strong > Input:< / strong > num1 = " 1" , num2 = " 5" , < code > min_sum< / code > = 1, max_sum = 5
< strong > Output:< / strong > 5
< strong > Explanation:< / strong > The 5 integers whose sum of digits lies between 1 and 5 are 1,2,3,4, and 5. Thus, we return 5.
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = num1 < = num2 < = 10< sup > 22< / sup > < / code > < / li >
< li > < code > 1 < = min_sum < = max_sum < = 400< / code > < / li >
< / ul >