博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指offer 面试题43 n个骰子的点数 DP
阅读量:7294 次
发布时间:2019-06-30

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

  题目链接: 剑指offer

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

  解题思路: 动态规划, dp(n, s) 表示扔第n个骰子, 和为s点数出现的次数。 dp(n, s) = dp(n-1, s-1) + dp(n-1, s-2) + ...... dp(n-1, s-6), 由于之和上一次有关, 所以我们只记录上一次的就值就可以了, 第一维大小就是2

  代码: 

#include 
#include
using namespace std; int g_maxValue=6;void PrintProbability(int n){ if(n<1) return; int* pProbability[2]; pProbability[0]=new int[g_maxValue*n+1]; pProbability[1]=new int[g_maxValue*n+1]; for(int i=0;i<=g_maxValue*n;i++){ pProbability[0][i]=0; pProbability[1][i]=0; } int flag=0; for(int i=1;i<=g_maxValue;i++) pProbability[flag][i]=1; for(int k=2;k<=n;k++){ for(int i=0;i
View Code

  思考: 剑指offer上的代码啊......真的是好漂亮......多学着点

转载于:https://www.cnblogs.com/FriskyPuppy/p/7574837.html

你可能感兴趣的文章
Dubbo 线上调服务方法空指针问题
查看>>
Java并发,并行,同步,互斥
查看>>
try redis
查看>>
C++中const用法总结
查看>>
angular2 安装
查看>>
ubuntu安装openssl命令
查看>>
去掉文本中重复的行
查看>>
某厂商APT防御思路
查看>>
Hibernate, 想说爱你不容易
查看>>
不要使用字符串常量作为对象锁去同步代码
查看>>
Linux free -m 详细说明
查看>>
树莓派分辨率设置
查看>>
rbac 相关
查看>>
如何调整mintty行距及字间距
查看>>
load average
查看>>
网络数据包发送接收全过程
查看>>
hibernate4连接mysql自动创建表之错误
查看>>
解决activiti中由模板转换的流程图连线名称缺失问题
查看>>
Jboss7.1.1配置SSL
查看>>
thrift多平台安装
查看>>