Skip to content

Commit 744656e

Browse files
week 3: decode ways
1 parent 9bc84ff commit 744656e

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

decode-ways/prograsshopper.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution:
2+
def numDecodings(self, s: str) -> int:
3+
# sol 1: Time complexity O(n)
4+
dp = {len(s): 1}
5+
6+
def dfs(start):
7+
if start in dp:
8+
return dp[start]
9+
if s[start] == "0":
10+
return 0
11+
result = None
12+
if start + 1 < len(s) and int(s[start:start+2]) < 27:
13+
result = dfs(start+1) + dfs(start+2)
14+
else:
15+
result = dfs(start+1)
16+
dp[start] = result
17+
return result
18+
19+
return dfs(0)

0 commit comments

Comments
 (0)