Java日記2018-05-21

昨天 滑動(dòng)窗口的最大值沒有實(shí)現(xiàn),待完成

第一題 n 個(gè)骰子的點(diǎn)數(shù)
動(dòng)態(tài)規(guī)劃的解法 使用一個(gè)二維數(shù)組 dp 存儲(chǔ)點(diǎn)數(shù)出現(xiàn)的次數(shù),其中 dp[i][j] 表示前 i 個(gè)骰子產(chǎn)生點(diǎn)數(shù) j 的次數(shù)。
那么第i-1次骰子產(chǎn)生的點(diǎn)數(shù)可能是n-1,n-2,n-3,n-4,n-5,n-6,至于循環(huán)時(shí)候當(dāng)然要保證j>=k,不然就出現(xiàn) dp[i - 1][j - k]里面的j-k小于0,這不合適

public List<Map.Entry<Integer, Double>> dicesSum(int n) {
    final int face = 6;
    final int pointNum = face * n;
    long[][] dp = new long[n + 1][pointNum + 1];
    for (int i = 1; i <= face; i++)
        dp[1][i] = 1;

    for (int i = 2; i <= n; i++)
        for (int j = i; j <= pointNum; j++)  // 使用 i 個(gè)骰子最小點(diǎn)數(shù)為 i
            for (int k = 1; k <= face && k <= j; k++)
                dp[i][j] += dp[i - 1][j - k];

    final double totalNum = Math.pow(6, n);
    List<Map.Entry<Integer, Double>> ret = new ArrayList<>();
    for (int i = n; i <= pointNum; i++)
        ret.add(new AbstractMap.SimpleEntry<>(i, dp[n][i] / totalNum));
    return ret;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 動(dòng)態(tài)規(guī)劃(Dynamic Programming) 本文包括: 動(dòng)態(tài)規(guī)劃定義 狀態(tài)轉(zhuǎn)移方程 動(dòng)態(tài)規(guī)劃算法步驟 最長(zhǎng)...
    廖少少閱讀 3,669評(píng)論 0 18
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,936評(píng)論 0 33
  • 今晨起時(shí),發(fā)現(xiàn)到處潔白,方知昨夜落雪,詩興大作,記之。 《中華新韻》 仄起首句入韻。 一夜風(fēng)聲是雪鳴,繁花醒處問何...
    客串青衣閱讀 396評(píng)論 0 4
  • 1. 如果你能活在當(dāng)下這一刻,你就會(huì)活得很快樂。你就能夠看清沙漠里永遠(yuǎn)有生命,天上永遠(yuǎn)有星星。 2. 而當(dāng)這兩個(gè)互...
    一水猶寒_閱讀 483評(píng)論 0 0
  • 有沒有這樣的經(jīng)歷,悄悄的翻看一個(gè)人的朋友圈,從第一條到最后一條動(dòng)態(tài),從來沒有過的耐心細(xì)致。 希望從那些細(xì)枝末節(jié)之中...
    趙不棄閱讀 278評(píng)論 0 1

友情鏈接更多精彩內(nèi)容