上一页 1 2 3 4 5 6 7 ··· 14 下一页
摘要: 322、零钱兑换 基本思想: 每种硬币的数量是无限的 完全背包 与518题不同,518问的是方法种类,本题问的是硬币个数 具体实现: 1.确定dp数组以及下标的含义 dp[j]:凑足总额为j所需钱币的最少个数为dp[j] 2.确定递推公式 完全背包公式: dp[j] = max(dp[j], dp[ 阅读全文
posted @ 2021-12-07 22:54 最近饭吃的很多 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 518、零钱问题II 基本思路: 钱币数量不限 完全背包问题 纯完全背包是能否凑成总金额,而本题是要求凑成总金额的方法个数 这一题是求组合,下一题是求排列 具体实现: 1、确认状态: dp[j]:凑成总金额j的货币组合数为dp[j] 2、状态转移: 如果不使用coins[i]这个面值的硬币,就继承上 阅读全文
posted @ 2021-12-06 22:19 最近饭吃的很多 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 背包最大重量为4,物品如下,问背包能背的物品最大价值是多少? 二维dp数组01背包 1.确定dp数组以及下标的含义 dp[i][j]表示从下标为[0-i]的物品中任意取,放进容量为j的背包,价值总和最大为多少 2.确定递推公式 两个方向推导 不放物品i:dp[i][j]=dp[i-1][j] 放物品 阅读全文
posted @ 2021-11-26 23:03 最近饭吃的很多 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 343、整数拆分 基本思想: 动态规划 具体实现: 1.确定dp数组以及下标的含义 dp[i]:分拆数字i,可以得到的最大乘积为dp[i] 2.确定递推公式 两种方法得到dp[i] (1)从1遍历j,j*(i-j),把i拆成了两个数相乘 (2)从1遍历j,j*dp[i-j],把i拆成立两个以及两个以 阅读全文
posted @ 2021-11-25 20:18 最近饭吃的很多 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 62、不同路径 基本思想: 动态规划 具体实现: 1.确定dp数组以及下标的含义 dp[i][j]:表示从(0,0)出发,到(i,j)有dp[i][j]条不同的路径 2.确定递推公式 求dp[i][j],两个方向来推导,即dp[i - 1][j] 和 dp[i][j - 1] dp[i][j] = 阅读全文
posted @ 2021-11-24 22:58 最近饭吃的很多 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 746、使用最小花费爬楼梯 基本思想: 动态规划 具体实现: 1、确定dp数组以及下标的含义 dp[i]:从第i个台阶往上走1或2个台阶所花费的最少体力为dp[i] 2、确定递推公式 有两个途径可以得到dp[i],一个是dp[i-1],一个是dp[i-2] dp[i] = min(dp[i-1]+d 阅读全文
posted @ 2021-11-23 22:50 最近饭吃的很多 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 108、有序数组转换为二叉搜索树 基本思想: 寻找切割点,分割点为当前节点,然后递归左区间和右区间 具体实现: 1、确定返回值以及参数 返回值:需要用递归的返回值来构造节点的左右孩子 参数:传入数组,左下标和右下标用来操作数组 定义左闭右闭区间,分割过程也坚持左闭右闭 2、递归终止条件 区间left 阅读全文
posted @ 2021-11-20 22:53 最近饭吃的很多 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 530、二叉搜索树的最小绝对差 基本思想: 中序遍历 具体实现: 需要记录前一节点,用pre记 代码: class Solution { TreeNode pre;//记录上一个遍历的节点 int result = Integer.MAX_VALUE; public int getMinimumDi 阅读全文
posted @ 2021-11-16 22:49 最近饭吃的很多 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 617、合并二叉树 基本思想: 具体实现: 1、确定参数和返回值 参数:两个二叉树的根节点 返回值:合并之后新二叉树的根节点 2、确定终止条件 遍历到叶子节点 3、单层递归逻辑 TreeNode newRoot = new TreeNode(root1.val + root2.val); newRo 阅读全文
posted @ 2021-11-15 20:57 最近饭吃的很多 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 513、找树左下角的值 基本思想: 树的最后一行找到最左边的值 树的最后一行:深度最大的叶子节点 前序遍历 最左边:优先左边搜索 前序遍历 具体实现: 1、确定递归参数和返回值 参数:根节点和int型变量记录深度 返回值:不需要 如果要遍历整棵树,递归函数不能有返回值 如果要遍历某一条固定路线,递归 阅读全文
posted @ 2021-11-13 20:19 最近饭吃的很多 阅读(29) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 14 下一页