原文:《劍指offer》 面試題43 n個骰子的點數 (java)

引言:寫這篇文章的初衷只是想做個筆記,因為這道題代碼量有點大,有點抽象,而書上並沒有詳細的注釋。為了加深印象和便於下次復習,做個記錄。 原題:把n個骰子扔到地上,所有骰子朝上一面的點數之后為s. 輸入n,打印出s所有可能的值出現的概率。 每個骰子 個面,點數從 到 解法一:基於遞歸,時間效率不高 遞歸的思想一般是分而治之,把n個骰子分為第一個和剩下的n 個。先計算第一個骰子每個點數出現的次數,再計 ...

2017-05-23 22:30 1 3223 推薦指數:

查看詳情

Offer面試題43n骰子點數

題目: 把n骰子仍在地上,所有骰子朝上一面的點數之和為s。輸入n,打印出s的所有可能的值出現的概率。 思路: s可能出現的值的范圍為:n--6*n 1、全排列 回溯法枚舉n骰子(6面)的全排列,然后計算每一次排列所有值的和,並統計該和的出現的次數,除以6^n(全排列的全部可能性 ...

Thu Jul 30 00:10:00 CST 2015 0 2862
offer(第二版)》面試題60——n骰子點數

一.題目描述   把n骰子仍在地上,所有的骰子朝上的一面的點數之和為s,輸入n,打印出s所有可能的值出現的概率。 二.題解   《offer》上給出的兩種方法,尤其是代碼,晦澀難懂且沒有注釋。而n骰子的問題實質就是一個動態規划問題,所以文本主要從動態規划的角度來求解這個問題 ...

Sat Jul 28 04:05:00 CST 2018 2 1581
Javaoffer(60) n骰子點數

本文參考自《offer》一書,代碼采用Java語言。 更多:《OfferJava實現合集 題目   把n骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,打印出s的所有可能的值出現的概率。 思路   對於n骰子,要計算出每種點數和的概率,我們知道投擲n骰子 ...

Fri Nov 16 18:25:00 CST 2018 0 1204
求1~n整數中1出現的次數(《offer面試題43)

題意:   給定一個整數n,求1~nn個整數中十進制表示中1出現的次數。 思路:   方法1:最直觀的是,對於1~n中的每個整數,分別判斷n中的1的個數,具體見《offer》。這種方法的時間復雜度為O(N*logN),當N比較大的時候,一般會超時。   方法2:這種類別的題目 ...

Thu Apr 26 04:00:00 CST 2018 0 3597
面試題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
offer面試題32----從1到n整數中1出現的次數

題目:輸入一個整數n,求從1到nn個整數的十進制表示中1出現的次數。例如輸入12,從1到12這些整數中包含1的數字有1,10,11和12,1一共出現了5次。 解法一:不考慮時間效率的解法(略) ps:我感覺是個程序員都能想到這第一種解法,時間復雜度O(nlogn)。這個方法沒有什么意義 ...

Mon May 15 06:01:00 CST 2017 2 7004
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM