原文:《剑指offer(第二版)》面试题60——n个骰子的点数

一.题目描述 把n个骰子仍在地上,所有的骰子朝上的一面的点数之和为s,输入n,打印出s所有可能的值出现的概率。 二.题解 剑指offer 上给出的两种方法,尤其是代码,晦涩难懂且没有注释。而n个骰子的问题实质就是一个动态规划问题,所以文本主要从动态规划的角度来求解这个问题。首先该问题具备DP的两个特征:最优子结构性质和子问题的重叠性。具体的表现在: n个骰子的点数依赖于n 个骰子的点数,相当于在n ...

2018-07-27 20:05 2 1581 推荐指数:

查看详情

Offer面试题43:n骰子点数

题目: 把n骰子仍在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 思路: s可能出现的值的范围为:n--6*n 1、全排列 回溯法枚举n骰子(6面)的全排列,然后计算每一次排列所有值的和,并统计该和的出现的次数,除以6^n(全排列的全部可能性 ...

Thu Jul 30 00:10:00 CST 2015 0 2862
offer面试题43 n骰子点数 (java)

引言:写这篇文章的初衷只是想做个笔记,因为这道题代码量有点大,有点抽象,而书上并没有详细的注释。为了加深印象和便于下次复习,做个记录。 原题:把n骰子扔到地上,所有骰子朝上一面的点数之后为s. 输入n,打印出s所有可能的值出现的概率。(每个骰子6个面,点数从1到6) 解法一:基于递归,时间 ...

Wed May 24 06:30:00 CST 2017 1 3223
【Java】 offer(60) n骰子点数

本文参考自《offer》一书,代码采用Java语言。 更多:《Offer》Java实现合集 题目   把n骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 思路   对于n骰子,要计算出每种点数和的概率,我们知道投掷n骰子 ...

Fri Nov 16 18:25:00 CST 2018 0 1204
offer第二版面试题-Java描述

最近在用Java刷offer第二版)的面试题。书中原题的代码采用C++编写,有些题的初衷是为了考察C++的指针、模板等特性,这些题使用Java编写有些不合适。但多数题还是考察通用的算法、数据结构以及编程思想等,与语言本身无太大关系。因此在选择编程语言时,我还是选择了Java。好吧,主要 ...

Sat Mar 03 21:39:00 CST 2018 3 5616
(python)Offer第二版面试题14:剪绳子

题目 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18. ...

Sat Mar 10 03:07:00 CST 2018 0 2486
面试题043】n骰子点数

面试题043】n骰子点数 题目: 把n骰子扔在地上,所有骰子朝上一面的点数之和为s, 输入n,打印出s的所有可能的值出现的概率。 n骰子的总点数,最小为n,最大为6n,根据排列组合的知识 ...

Sun Jun 01 22:26:00 CST 2014 0 2699
Offer》各面试题总结

目录 前言 面试题4 二维数组的查找 一维二分法 二维查找法 面试题5:替换空格 伪新建数组法 从后往前法 面试题6:从尾到头打印链表 面试题7:重建二叉树 题解 ...

Sat Feb 01 08:29:00 CST 2020 0 689
Offer面试题:11.打印1到最大的n位数

一、题目:打印1到最大的n位数 题目:输入数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。 二、不同的解法 2.1 不假思索的解法   最容易想到的办法是先求出最大的n位数,然后用一个循环从1开始逐个打印 ...

Thu Aug 27 08:46:00 CST 2015 0 2577
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM