LeetCode 935. 骑士拨号器(动态规划)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 935. 骑士拨号器(动态规划)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
國際象棋中的騎士可以按下圖所示進行移動:
這一次,我們將 “騎士” 放在電話撥號盤的任意數字鍵(如上圖所示)上,
接下來,騎士將會跳 N-1 步。每一步必須是從一個數字鍵跳到另一個數字鍵。
每當它落在一個鍵上(包括騎士的初始位置),都會撥出鍵所對應的數字,總共按下 N 位數字。
你能用這種方式撥出多少個不同的號碼?
因為答案可能很大,所以輸出答案模 10^9 + 7。
示例 1: 輸入:1 輸出:10示例 2: 輸入:2 輸出:20示例 3: 輸入:3 輸出:46提示: 1 <= N <= 5000來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/knight-dialer
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
類似題目:
LeetCode 552. 學生出勤記錄 II(動態規劃)
LeetCode 576. 出界的路徑數(動態規劃)
LeetCode 688. “馬”在棋盤上的概率(DP)
- dp[i][k] 表示在 i鍵時,剩余k次移動時,產生的號碼數量
- 轉移:0 可以到 4,6,按照規則來,次數 k-1
16 ms 6.2 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 935. 骑士拨号器(动态规划)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1057. 校园自行车
- 下一篇: LeetCode 822. 翻转卡片游戏