给定 n 个骰子,投掷一轮,求点数之和恰好为 k 的概率。请设计并实现一个时间与空间复杂度更优的解法,并说明与暴力枚举的区别。
考察说明
考察动态规划建模与概率计算能力,以及算法复杂度优化意识
回答思路
- 识别暴力 DFS 枚举量随 n 呈指数增长
- 建立状态:dp[i][s] 表示 i 个骰子点数和为 s 的方案数
- 正确实现状态转移 dp[i][s] += dp[i-1][s-d],其中 d∈1..6
- 计算概率为方案数除以 6^n,并注意防止溢出
- 能分析时间复杂度 O(n*k) 与空间优化(滚动数组)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。