日卡专题

算法题day44(补5.30日卡:动态规划04)

一、刷题:今天继续学习动态规划01背包问题: 1.leetcode题目 1049. 最后一块石头的重量 II - 力扣(LeetCode)(medium) 解决: class Solution:def lastStoneWeightII(self, stones: List[int]) -> int:target = sum(stones)//2dp = [0]*(target + 1)fo

算法题day42(补5.28日卡:动态规划02)

今天的动态规划都是二维的,与昨日不同。 一、刷题: 1.leetcode题目 62. 不同路径 - 力扣(LeetCode)(medium,) 解决: class Solution:def uniquePaths(self, m: int, n: int) -> int:dp = [[0]*n for _ in range(m)]##易错点 第一行和第一列要初始化for j in rang

算法题day41(补5.27日卡:动态规划01)

一、动态规划基础知识:在动态规划中每一个状态一定是由上一个状态推导出来的。 动态规划五部曲: 1.确定dp数组 以及下标的含义 2.确定递推公式 3.dp数组如何初始化 4.确定遍历顺序 5.举例推导dp数组 debug方式:打印 二、刷题: 1.leetcode题目 509. 斐波那契数 - 力扣(LeetCode)(easy) class Solution:def fib(

算法题day37日(补5.23日卡:贪心算法day4)

一、刷题: 1.leetcode题目 860. 柠檬水找零 - 力扣(LeetCode)(easy): 我觉得我写的代码有点蠢 class Solution:def lemonadeChange(self, bills: List[int]) -> bool:dict_ = {5:0,10:0}if bills[0] != 5:return Falsefor i in bills:if i