Skip to content

Commit 38875b1

Browse files
committed
update 91
1 parent 44c68a3 commit 38875b1

File tree

2 files changed

+12
-38
lines changed

2 files changed

+12
-38
lines changed
Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,16 @@
11
package leetcode
22

3-
import (
4-
"strconv"
5-
)
6-
73
func numDecodings(s string) int {
8-
if len(s) == 0 {
9-
return 0
10-
}
11-
dp := make([]int, len(s)+1)
4+
n := len(s)
5+
dp := make([]int, n+1)
126
dp[0] = 1
13-
if s[:1] == "0" {
14-
dp[1] = 0
15-
} else {
16-
dp[1] = 1
17-
}
18-
for i := 2; i <= len(s); i++ {
19-
lastNum, _ := strconv.Atoi(s[i-1 : i])
20-
if lastNum >= 1 && lastNum <= 9 {
7+
for i := 1; i <= n; i++ {
8+
if s[i-1] != '0' {
219
dp[i] += dp[i-1]
2210
}
23-
lastNum, _ = strconv.Atoi(s[i-2 : i])
24-
if lastNum >= 10 && lastNum <= 26 {
11+
if i > 1 && s[i-2] != '0' && (s[i-2]-'0')*10+(s[i-1]-'0') <= 26 {
2512
dp[i] += dp[i-2]
2613
}
2714
}
28-
return dp[len(s)]
15+
return dp[n]
2916
}

website/content/ChapterFour/0001~0099/0091.Decode-Ways.md

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -51,32 +51,19 @@ Given a **non-empty** string containing only digits, determine the total numbe
5151

5252
package leetcode
5353

54-
import (
55-
"strconv"
56-
)
57-
5854
func numDecodings(s string) int {
59-
if len(s) == 0 {
60-
return 0
61-
}
62-
dp := make([]int, len(s)+1)
55+
n := len(s)
56+
dp := make([]int, n+1)
6357
dp[0] = 1
64-
if s[:1] == "0" {
65-
dp[1] = 0
66-
} else {
67-
dp[1] = 1
68-
}
69-
for i := 2; i <= len(s); i++ {
70-
lastNum, _ := strconv.Atoi(s[i-1 : i])
71-
if lastNum >= 1 && lastNum <= 9 {
58+
for i := 1; i <= n; i++ {
59+
if s[i-1] != '0' {
7260
dp[i] += dp[i-1]
7361
}
74-
lastNum, _ = strconv.Atoi(s[i-2 : i])
75-
if lastNum >= 10 && lastNum <= 26 {
62+
if i > 1 && s[i-2] != '0' && (s[i-2]-'0')*10+(s[i-1]-'0') <= 26 {
7663
dp[i] += dp[i-2]
7764
}
7865
}
79-
return dp[len(s)]
66+
return dp[n]
8067
}
8168

8269
```

0 commit comments

Comments
 (0)