Skip to content

Commit

Permalink
solve: decode ways
Browse files Browse the repository at this point in the history
  • Loading branch information
tolluset committed Aug 25, 2024
1 parent 4ac5487 commit 91f1443
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions decode-ways/tolluset.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**
* TC: O(n)
* SC: O(n)
*/
function numDecodings(s: string): number {
const n = s.length;
const dp = new Array(n + 1).fill(0);

dp[0] = 1;
dp[1] = Number(s[0]) === 0 ? 0 : 1;

for (let i = 2; i <= n; i++) {
const oneDigit = Number(s.slice(i - 1, i));
const twoDigits = Number(s.slice(i - 2, i));

if (oneDigit >= 1 && oneDigit <= 9) {
dp[i] += dp[i - 1];
}

if (twoDigits >= 10 && twoDigits <= 26) {
dp[i] += dp[i - 2];
}
}

return dp[n];
}

0 comments on commit 91f1443

Please sign in to comment.