最后一题同来不及,感觉应该是下面这样。 先打表 dp[n][i] 表示从0到 10**n-1 的数里答案为i的数量。 然后对于数字num进行dfs 令a为num的首位,b为去掉首位的剩余值(例如num=201, a=2, b=1),l为数字长度, dfs中分两部分: def dfs(num): count = [0] * 10 count2 = dfs(b) for digit in range(10): for i in range(a): count[max(digit, i)] += dp[l-1][digit] count[max(digit, a)] += count2[digit] return count 最后把首尾区间相减算总和。
1 1

相关推荐

10-24 00:54
已编辑
门头沟学院 Java
牛客20646354...:这连小厂都找不到就离谱,只能说可能你根本没投什么小厂。说实话现在都要11月了,没什么岗位了。其实最好是在9月找,那时候暑假工刚走,岗位多的是,现在都占满了岗位了,秋招的秋招,顶替暑假工的也基本上都顶替了。 只能多投了,简历其实都差不多,你这都不是外卖+点评去找实习了,已经比好多人优秀了。实在找不到,可以降低一些标准的,能投到自研项目的小厂说实话可能比你去中大厂能学到更多东西。因为中大厂最多给你看一点点模块功能,小厂基本上全部代码甚至几个项目的代码都能拿到。
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务