Skip to content

Commit 68ff66d

Browse files
committed
六周作业
1 parent a2254db commit 68ff66d

5 files changed

Lines changed: 64 additions & 1 deletion

File tree

Week06/1143.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def longestCommonSubsequence(self, text1: str, text2: str) -> int:
3+
if not text1 or not text2:
4+
return 0
5+
m, n = len(text1), len(text2)
6+
dp = [[0] * (n + 1) for _ in range(m + 1)]
7+
for i in range(1, m + 1):
8+
for j in range(1, n + 1):
9+
if text1[i - 1] == text2[j - 1]:
10+
dp[i][j] = dp[i - 1][j - 1] + 1
11+
else:
12+
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
13+
return dp[m][n]

Week06/62.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution:
2+
def uniquePaths(self, m: int, n: int) -> int:
3+
if not m or not n:
4+
return 0
5+
6+
dp = [[1]*n] + [[1]+[0] * (n-1) for _ in range(m-1)]
7+
8+
for i in range(1, m):
9+
for j in range(1, n):
10+
dp[i][j] = dp[i-1][j] + dp[i][j-1]
11+
return dp[-1][-1]

Week06/64.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
class Solution:
2+
def minPathSum(self, grid: List[List[int]]) -> int:
3+
dp = grid
4+
for i in range(len(grid)):
5+
for j in range(len(grid[0])):
6+
if i == j == 0:
7+
continue
8+
elif i == 0:
9+
dp[i][j] = dp[i][j-1] + grid[i][j]
10+
elif j == 0:
11+
dp[i][j] = dp[i-1][j] + grid[i][j]
12+
else:
13+
dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i][j]
14+
return dp[-1][-1]

Week06/91.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
def numDecodings(s: str) -> int:
2+
pre = 1
3+
cur = 1
4+
if s[0] == "0":
5+
return 0
6+
for i in range(1, len(s)):
7+
if s[i] == "0":
8+
if s[i - 1] == "1" or s[i - 1] == "2":
9+
cur = pre
10+
else:
11+
return 0
12+
else:
13+
if s[i - 1] == "1" or (s[i - 1] == "2" and "1" <= s[i] <= "6"):
14+
temp = cur
15+
cur += pre
16+
pre = temp
17+
else:
18+
pre = cur
19+
cur = cur
20+
21+
return cur

Week06/NOTE.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
学习笔记
1+
学习笔记
2+
动态规划
3+
1.最优子结构
4+
2.储存中间状态
5+
3.DP方程

0 commit comments

Comments
 (0)