TARGET DECK: Leetcode FILE TAGS: Medium
Intuition
Complexity
Runtime
Space
Code
Top Down
class Solution:
def numberOfWays(self, startPos: int, endPos: int, k: int) -> int:
dp = {}
def r(cur_pos, steps_used):
if steps_used < 0:
return 0
if cur_pos == startPos and steps_used == 0:
return 1
if (cur_pos, steps_used) in dp:
return dp[(cur_pos, steps_used)]
dp[(cur_pos, steps_used)] = r(cur_pos - 1, steps_used - 1) + r(cur_pos + 1, steps_used - 1)
return dp[(cur_pos, steps_used)]
return r(endPos, k) % (10 ** 9 + 7)Notes
Cards
START Basic Front: Number Of Ways To Reach A Position After Exactly K Steps Back:
END