对于题解中所说的在统计答案时的“当前位是要统计的数”,为什么要加上 10i−1?我的理解是要加上后面几位数中数码 ≤ai 的个数。
还有,在这篇题解中的代码片段:
for(int i = len-1; i >= 1; i--) {
for(int j = 0; j < digit[i]; j++) {
ans += f[i][j][num];
}
for(int j = len; j > i; j--) {
if(digit[j] == num) ans += digit[i] * x10(i-1);
}
}
中我标记的这两句,为什么还要遍历 i−len 位?我有点不理解,这样不会重复算吗?望有大佬解答。