最后一题同来不及,感觉应该是下面这样。 先打表 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

相关推荐

04-21 16:05
已编辑
山西大学 Java
不吃压力👿:我和你简历差不多,好多看到28就不回复了,回复的基本是全栈或低代码
点赞 评论 收藏
分享
05-04 17:20
武汉大学
已注销:技术栈删了,让ai把你的项目丰富化,干的活太少了,像是写了个demo,起码一个项目四点重要内容,内容用技术栈描述,取得了什么进展,简历大部分都留给项目,其他的压缩
如何写一份好简历
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务