当前位置:网站首页>【剑指 Offer】 60. n个骰子的点数
【剑指 Offer】 60. n个骰子的点数
2022-07-06 10:11:00 【LuZhouShiLi】
剑指 Offer 60. n个骰子的点数
题目
把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。
思路
- 首先用数组的第一维表示阶段,也就是投掷完几个骰子
- 然后用数组的第二维表示投掷完这些骰子之后,可能出现的点数
- 数组的值就表示,该阶段各个点数出现的次数
代码
class Solution {
public:
vector<double> dicesProbability(int n) {
int dp[12][70];
memset(dp,0,sizeof(dp));// 全部初始化0
for(int i = 1; i <= 6; i++)
{
dp[1][i] = 1;// 状态数组初始化
}
for(int i = 2; i <= n; i++)
{
// 最大点数 一定是 6 * i
for(int j = i; j <= 6 * i; j++)
{
for(int cur = 1; cur <= 6; cur++)
{
if(j - cur <= 0)
{
break;
}
// 但看第i个骰子,点数可能为1 2 3 4 5 6 因此点数j出现的次数是由投掷完第 i - 1个骰子 对应点数 j - 1 j - 2 j - 6 出现的次数之和转化过来的
dp[i][j] += dp[i - 1][j - cur];
}
}
}
int all = pow(6,n);// 所有可能性
vector<double> ret;
for(int i = n; i <= n * 6; i++)
{
ret.push_back(dp[n][i] * 1.0 / all);
}
return ret;
}
};
边栏推荐
- Interview shock 62: what are the precautions for group by?
- Interview shock 62: what are the precautions for group by?
- QT中Model-View-Delegate委托代理机制用法介绍
- Pourquoi Li shufu a - t - il construit son téléphone portable?
- 传统家装有落差,VR全景家装让你体验新房落成效果
- EasyCVR平台通过接口编辑通道出现报错“ID不能为空”,是什么原因?
- 面试突击62:group by 有哪些注意事项?
- ASEMI整流桥DB207的导通时间与参数选择
- declval(指导函数返回值范例)
- 递归的方式
猜你喜欢
78 岁华科教授逐梦 40 载,国产数据库达梦冲刺 IPO
kivy教程之在 Kivy 中支持中文以构建跨平台应用程序(教程含源码)
2019阿里集群数据集使用总结
How to use scroll bars to dynamically adjust parameters in opencv
The integrated real-time HTAP database stonedb, how to replace MySQL and achieve nearly a hundredfold performance improvement
std::true_type和std::false_type
10 advanced concepts that must be understood in learning SQL
Olivetin can safely run shell commands on Web pages (Part 1)
编译原理——预测表C语言实现
面向程序员的精品开源字体
随机推荐
MS-TCT:Inria&SBU提出用于动作检测的多尺度时间Transformer,效果SOTA!已开源!(CVPR2022)...
2022暑期项目实训(二)
F200 - UAV equipped with domestic open source flight control system based on Model Design
从交互模型中蒸馏知识!中科大&美团提出VIRT,兼具双塔模型的效率和交互模型的性能,在文本匹配上实现性能和效率的平衡!...
面试突击62:group by 有哪些注意事项?
UDP协议:因性善而简单,难免碰到“城会玩”
Smart street lamp based on stm32+ Huawei cloud IOT design
Summary of Android interview questions of Dachang in 2022 (II) (including answers)
Growth of operation and maintenance Xiaobai - week 7
ASEMI整流桥DB207的导通时间与参数选择
Windows连接Linux上安装的Redis
node の SQLite
Distinguish between basic disk and dynamic disk RAID disk redundant array
【.NET CORE】 请求长度过长报错解决方案
转载:基于深度学习的工业品组件缺陷检测技术
MSF horizontal MSF port forwarding + routing table +socks5+proxychains
MSF横向之MSF端口转发+路由表+SOCKS5+proxychains
递归的方式
传输层 拥塞控制-慢开始和拥塞避免 快重传 快恢复
Selected technical experts from China Mobile, ant, SF, and Xingsheng will show you the guarantee of architecture stability