File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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 ]
Original file line number Diff line number Diff line change 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 ]
Original file line number Diff line number Diff line change 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 ]
Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff line change 1- 学习笔记
1+ 学习笔记
2+ 动态规划
3+ 1.最优子结构
4+ 2.储存中间状态
5+ 3.DP方程
You can’t perform that action at this time.
0 commit comments