Skip to content

Commit 26e0728

Browse files
committed
提交作业
1 parent 55c1230 commit 26e0728

3 files changed

Lines changed: 54 additions & 1 deletion

File tree

Week09/FirstUniqChar.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
public class FirstUniqChar {
2+
3+
public int firstUniqChar(String s) {
4+
if (null == s || s.length() == 0) {
5+
return -1;
6+
}
7+
int length = s.length();
8+
int[] arr = new int[26];
9+
char[] array = s.toCharArray();
10+
for (char c : array) {
11+
arr[c - 'a']++;
12+
}
13+
14+
for (int i = 0; i < length; i++) {
15+
if (arr[array[i] - 'a'] == 1) {
16+
return i;
17+
}
18+
}
19+
20+
return -1;
21+
}
22+
}

Week09/NOTE.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
学习笔记
1+
学习笔记
2+
3+
dp[i][j] = blocked ? 0 : dp[i−1,j]+dp[i,j−1]
4+

Week09/NumDecodings.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
public class NumDecodings {
2+
3+
public int numDecodings(String s) {
4+
if (s == null || s.length() == 0) {
5+
return 0;
6+
}
7+
int len = s.length();
8+
int[] dp = new int[len + 1];
9+
dp[len] = 1;
10+
if (s.charAt(len - 1) == '0') {
11+
dp[len - 1] = 0;
12+
} else {
13+
dp[len - 1] = 1;
14+
}
15+
for (int i = len - 2; i >= 0; i--) {
16+
if (s.charAt(i) == '0') {
17+
dp[i] = 0;
18+
continue;
19+
}
20+
if ((s.charAt(i) - '0') * 10 + (s.charAt(i + 1) - '0') <= 26) {
21+
dp[i] = dp[i + 1] + dp[i + 2];
22+
} else {
23+
dp[i] = dp[i + 1];
24+
}
25+
}
26+
return dp[0];
27+
}
28+
}

0 commit comments

Comments
 (0)