Skip to content

Commit

Permalink
[LC] feat: 240825 decode ways
Browse files Browse the repository at this point in the history
  • Loading branch information
HaJunYoo committed Aug 25, 2024
1 parent 5dd8db8 commit 4fc1a92
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions decode-ways/hajunyoo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
class Solution:
# time complexity: O(n)
# space complexity: O(n)
def numDecodings(self, s: str) -> int:
if not s or s.startswith('0'):
return 0

n = len(s)
dp = [0] * (n + 1)
dp[0] = 1
dp[1] = 1 if s[0] != '0' else 0

for i in range(2, n + 1):
if s[i - 1] != '0':
dp[i] += dp[i - 1]

two_digit = int(s[i - 2:i])
if 10 <= two_digit <= 26:
dp[i] += dp[i - 2]

return dp[n]

0 comments on commit 4fc1a92

Please sign in to comment.