博客
关于我
动态规划——丑数、n个骰子的点数
阅读量:345 次
发布时间:2019-03-04

本文共 1057 字,大约阅读时间需要 3 分钟。

文章目录

1.丑数

我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。

在这里插入图片描述

class Solution {   public:    int nthUglyNumber(int n) {           vector
dp(n,0); dp[0]=1; int two=0,there=0,five=0; for(int i=1;i

2. n个骰子的点数

把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。

你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。
在这里插入图片描述
方法1:

class Solution {   public:    vector
dicesProbability(int n) { //下一个骰子出现的所有点数=前面的一个筛子[+1+2+3+4+5+6]; //每多一颗骰子,空间比前面需要多五个 vector
> dp;//建立动规数组 dp.resize(n);//开辟n个二维空间 for(int i=0;i<6;i++)//将只有一颗骰子时的所有概率初始化 { dp[0].push_back(1.0/6.0); } for(int i=1;i

方法2:

由于dp[i]只与dp[i-1]有关系,因此我们只需要两个一维数组进行迭代即可

class Solution {   public:    vector
dicesProbability(int n) { vector
ret(6,1.0/6.0);//当n为1的时候 for(int i=1;i
temp(ret.size()+5,0); for(int j=1;j<=6;j++)//控制骰子出现的点数 { int sub=j-1; for(int k=0;k

转载地址:http://wese.baihongyu.com/

你可能感兴趣的文章
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>
MuseTalk如何生成高质量视频(使用技巧)
查看>>
mutiplemap 总结
查看>>
MySQL DELETE 表别名问题
查看>>
MySQL Error Handling in Stored Procedures---转载
查看>>