Knight Dialer
非常浅显易懂的每一个数字都是它之前可能走位数字的count之和,和paint 3XN这道题是一个道理
class Solution:
def knightDialer(self, N: int) -> int:
mod = 10**9+7
d1,d2,d3,d4,d5,d6,d7,d8,d9,d0 = 1,1,1,1,1,1,1,1,1,1
for i in range(N-1):
d1,d2,d3,d4,d5,d6,d7,d8,d9,d0 = (d6+d8)%mod, (d7+d9)%mod, (d4+d8)%mod, (d3+d9+d0)%mod, 0, (d1+d7+d0)%mod,(d2+d6)%mod,(d1+d3)%mod,(d2+d4)%mod,(d4+d6)%mod
return (d1+d2+d3+d4+d5+d6+d7+d8+d9+d0)%mod
Last updated
Was this helpful?