后端岗位面试题更新 2026-08-05

给定 n 个骰子,投掷一轮,求点数之和恰好为 k 的概率。请设计并实现一个时间与空间复杂度更优的解法,并说明与暴力枚举的区别。

重庆懂车族科技有限公司后端开发专业服务编码实现问题拆解技术原理

考察说明

考察动态规划建模与概率计算能力,以及算法复杂度优化意识

回答思路

  1. 识别暴力 DFS 枚举量随 n 呈指数增长
  2. 建立状态:dp[i][s] 表示 i 个骰子点数和为 s 的方案数
  3. 正确实现状态转移 dp[i][s] += dp[i-1][s-d],其中 d∈1..6
  4. 计算概率为方案数除以 6^n,并注意防止溢出
  5. 能分析时间复杂度 O(n*k) 与空间优化(滚动数组)
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。