博客
关于我
动态规划——丑数、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学习总结(12)——21分钟Mysql入门教程
查看>>
Mysql学习总结(13)——使用JDBC处理MySQL大数据
查看>>
Mysql学习总结(14)——Mysql主从复制配置
查看>>
Mysql学习总结(15)——Mysql错误码大全
查看>>
Mysql学习总结(16)——Mysql之数据库设计规范
查看>>
Mysql学习总结(17)——MySQL数据库表设计优化
查看>>
Mysql学习总结(18)——Mysql主从架构的复制原理及配置详解
查看>>
Mysql学习总结(19)——Mysql无法创建外键的原因
查看>>
Mysql学习总结(19)——Mysql无法创建外键的原因
查看>>
Mysql学习总结(1)——常用sql语句汇总
查看>>
Mysql学习总结(20)——MySQL数据库优化的最佳实践
查看>>
Mysql学习总结(21)——MySQL数据库常见面试题
查看>>
Mysql学习总结(22)——Mysql数据库中制作千万级测试表
查看>>
Mysql学习总结(23)——MySQL统计函数和分组查询
查看>>
Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
查看>>
Mysql学习总结(25)——MySQL外连接查询
查看>>
Mysql学习总结(26)——MySQL子查询
查看>>
Mysql学习总结(27)——Mysql数据库字符串函数
查看>>
Mysql学习总结(28)——MySQL建表规范与常见问题
查看>>
Mysql学习总结(29)——MySQL中CHAR和VARCHAR
查看>>