![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 63
Apolo_Shane
这个作者很懒,什么都没留下…
展开
-
LeetCode 746. Min Cost Climbing Stairs (Python)最优解--Apolo_Shane
是198题. House Robber 的反例子 # 1/小偷抢的越多,其剩下的就越少,其目标就是剩下的最少,但是不能连偷两个,这样的话会造成梯子有隔断。 # 2/小偷不能偷相邻的,正好是梯子不能跳两格对应上 class Solution: def minCostClimbingStairs(self, cost): last=now=0 f原创 2018-01-24 17:23:04 · 483 阅读 · 0 评论 -
LeetCode 63. Unique Paths II (Python)最优解--Apolo_Shane
#本题找规律容易l[i][j] = l[i - 1][j] + l[i][j - 1]但是一定要注意处理边界问题,通过生成(m+1)*(n+1)的二维数组来避免边界问题 class Solution: def uniquePathsWithObstacles(self, obstacleGrid): m = len(obstacleGrid) n = l原创 2018-01-25 02:01:39 · 445 阅读 · 0 评论 -
LeetCode 62. Unique Paths (Python)最优解--Apolo_Shane
#二维数组加上for循环 class Solution: def uniquePaths(self, m, n): l=[[1]*n for i in range(m)]#生成m行n列的二维数组 for i in range(1,m): for j in range(1,n): l[i][j]=l[i原创 2018-01-24 20:42:10 · 273 阅读 · 0 评论 -
LeetCode 64. Minimum Path Sum (Python)最优解--Apolo_Shane
class Solution: def minPathSum(self, grid): m=len(grid) n=len(grid[0]) l=[[0]*(n) for i in range(m)] for i in range(m): for j in range(n):原创 2018-01-25 03:33:22 · 239 阅读 · 0 评论 -
LeetCode 120. Triangle (Python)最优解--Apolo_Shane
#动态规划皆可用表格解决! #1\自上往下 class Solution: def minimumTotal(self, triangle): m = len(triangle) l = triangle for i in range(1, m): for j in range(i + 1):原创 2018-01-25 06:29:34 · 405 阅读 · 0 评论 -
LeetCode 278. First Bad Version (Python)最优解--Apolo_Shane
#典型的二分查找。 #注意边界问题。 class Solution(object): def firstBadVersion(self, n): l=1 r=n while True: mid=(l+r)//2# if isBadVersion(mid):原创 2018-01-26 00:49:18 · 304 阅读 · 0 评论 -
LeetCode 96. Unique Binary Search Trees (Python)最优解--Apolo_Shane
class Solution(object): def numTrees(self, n): num = [[0] * (n + 1) for i in range(n + 1)] num[0][0] = 1 for i in range(1, n + 1): for j in range(1, n + 1):原创 2018-01-26 04:31:28 · 310 阅读 · 0 评论