
LeetCode/OJ
文章平均质量分 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 · 521 阅读 · 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 · 485 阅读 · 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 · 326 阅读 · 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 · 275 阅读 · 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 · 470 阅读 · 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 · 368 阅读 · 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 · 362 阅读 · 0 评论