日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【剑指offer】面试题43:n个骰子的点数

發(fā)布時間:2024/4/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【剑指offer】面试题43:n个骰子的点数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第一種思路是,每一個骰子的點數(shù)從最小到最大,如果為1-6,那么全部的骰子從最小1開始,我們?nèi)绻环N從左向右的排列,右邊的最低,索引從最低開始,推斷和的情況。

def setTo1(dices, start, end):for i in range(start, end):dices[i] = 1def probability(n, s, dmax = 6, dmin = 1):if s < n * dmin or s > n * dmax : return 0dices = [1] * ni = n - 1total = 0while i >= 0:curSum = sum(dices)if curSum == s: print dicestotal += 1# find first one that can +1 for j in range(i, -1, -1):if dices[j] < dmax and s - sum(dices[0:j+1]) >= n - j*dmin:dices[j] += 1setTo1(dices, j + 1, n)i = n - 1breakelse:i -= 1elif curSum < s:if dices[i] < dmax:dices[i] += 1i = n - 1else:i -= 1print "total = {0}, prob = {1}%".format(total, total*100/dmax**n) return total
若當(dāng)前和小于s,則檢驗當(dāng)前索引處的骰子是否能添加�1,若能,則添加�,否則查看其前面的是否能添加�。若相等,那么我們統(tǒng)計信息后,要變化當(dāng)前的情形,以便處理下一種情況,由于 索引是從低位開始到當(dāng)前位的,所以我們從當(dāng)前索引開始,向前找能繼續(xù)添加�的骰子,這里的推斷標(biāo)準(zhǔn)是當(dāng)前骰子的點數(shù)小于最小值,并且要保證其后的骰子的最小值為1,比方 1,4,1, s = 6, 當(dāng)前索引指向4, 這里的4盡管小于最大點數(shù)6, 但若其再加一,第三個骰子就的為0,這不符合要求。若找到能夠加一的骰子,那就將該骰子點數(shù)加1, 將其后的骰子都置為1,索引回到最后,開始又一次加起。如:1,1,6,s = 8, 索引指向6, 改動后為1,2,1,索引指向最后的1,。若沒有找到能夠再添加�的骰子,那么就結(jié)束。如6,1,1,s = 8。

事實上若給定的n不大的話,我們能夠設(shè)一個n位整數(shù),從n個1開始,逐次加一,來推斷各個位的和是否滿足要求,直到達到最大值,n個6。

這個問題事實上動態(tài)規(guī)劃的特點非常明顯。

'''@ state function: dp[i, j]: the total cases of sum = j, composed by i dices@ state tranfor function: dp[i, j] = sum(dp[i - 1, j - k]) for k in [dmin, dmax] @ dp[i, j] = 0, j > i * dmax or j < i * dmin@ init condition: dp[1, k] = 1, for k in [dmin, dmax], dp[1, k] = 0, for other k ''' def dp_probability(n, s, dmax = 6, dmin = 1):if s < n * dmin or s > n * dmax : return 0dp1 = [0] * (n * dmax + 1)#init dp[1, :]for i in range(1, dmax + 1):dp1[i] = 1# i: the number of dicesfor i in range(2, n + 1):dp2 = [0] * (n * dmax + 1)# j: range of i dicesfor j in range(dmin * i, dmax * i + 1):# k: range of new added dice for k in range(dmin, dmax + 1):if j > k :dp2[j] += dp1[j - k]print dp2dp1 = dp2print "total = {0}, prob = {1}%".format(dp2[s], dp2[s]*100/dmax**n)return dp2[s]

轉(zhuǎn)載于:https://www.cnblogs.com/hrhguanli/p/3903996.html

總結(jié)

以上是生活随笔為你收集整理的【剑指offer】面试题43:n个骰子的点数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美调教视频 | 超碰最新在线 | 国产精品91一区二区 | 玖色视频 | 色福利视频 | ass极品国模人体欣赏 | 欧美精品乱人伦久久久久久 | 狂野欧美性猛交blacked | av日韩国产 | 一级在线 | 国产绿帽刺激高潮对白 | 欧美图片第一页 | 黄色成人在线免费观看 | 91超碰在线免费观看 | 91九色高潮 | 日本精品免费一区二区三区 | 日日躁夜夜躁白天躁晚上躁91 | 足疗店女技师按摩毛片 | 国内露脸中年夫妇交换 | 激情亚洲视频 | 免费网站观看www在线观 | 国语久久 | 日本a级大片 | 中文字幕在线观看视频一区 | 999精品视频在线观看 | 豆花视频成人 | 国产福利片在线观看 | 久久精国产 | 91麻豆精品久久久久蜜臀 | 91av俱乐部 | 99精品乱码国产在线观看 | 免费黄色网址在线观看 | 国产成人一级片 | 欧美xxxx黑人 | 男人的天堂国产 | 九七影院在线观看免费观看电视 | 一级欧美一级日韩 | 粗喘呻吟撞击猛烈疯狂 | 久久久精品人妻av一区二区三区 | 精品乱码久久久久久中文字幕 | 精品黄色av | 亚洲午夜无码av毛片久久 | 欧美bbbbb| 欧美男女动态图 | 少妇一级淫免费放 | 午夜丁香婷婷 | 久久久久久久久久久福利 | 五月激情av | 白石茉莉奈番号 | 动漫女被黄漫免费视频 | 国产电影一区二区三区爱妃记 | 日韩超碰 | 日本少妇高潮喷水xxxxxxx | 日韩一区二区高清视频 | 欧美精品一卡二卡 | 久久综合av| 狠狠婷婷 | 色资源在线 | 国产人妖在线观看 | 一区二区伊人 | 特级淫片裸体免费看冫 | 日本va欧美va精品发布 | 国产精品毛片久久 | 免费一级一片 | 爱逼综合网 | 日韩亚洲一区二区 | 伊人色区 | 日韩一区二区三区在线播放 | 国产swag在线观看 | 欧美一区视频在线 | 69天堂| 97超碰人人爱 | 人人草人人插 | 男女被到爽流尿 | 亚洲在线色 | 亚洲综人网 | 日韩国产精品一区 | 国产噜噜噜噜噜久久久久久久久 | 色狠狠操| 私库av在线 | 长河落日电视连续剧免费观看01 | 黄页网站免费在线观看 | 精品视频在线看 | 麻豆视频在线观看免费网站黄 | 中文字幕网站在线观看 | 日韩欧美一级在线 | 午夜性福利 | 中国美女乱淫免费看视频 | 欧美另类精品 | 四季av国产一区二区三区 | 老色驴综合网 | 台湾佬在线 | 自拍偷拍综合 | 国产精品极品白嫩 | sese欧美| 国产 福利 在线 | 在线观看免费高清视频 | 亚洲欧美一区二区三区不卡 | 国产欧美日韩精品在线观看 |