算法
文章平均质量分 85
Hidisan
这个作者很懒,什么都没留下…
展开
-
递归法扳断二叉树 和动态规划争老大 以及解决数学问题
1、leetcode 104.二叉树的最大深度2、leetcode 62.不同路径3、剑指 Offer 16. 数值的整数次方f(递归法){return f(递归法-1) +f(递归法-2);}一、二叉树的最大深度先要说一点:所有二叉树的套路都是一样的void traverse(TreeNode root) { // 前序遍历 traverse(root.left) // 中序遍历 traverse(root.right) // 后序遍历}二叉原创 2021-05-16 21:32:29 · 143 阅读 · 0 评论 -
0-1背包之分割等和子集 && 空间优化二维数组
「0-1 背包问题」,它的特点是:「每个数只能用一次」。解决的基本思路是:物品一个一个选,容量也一点一点增加去考虑,这一点是「动态规划」的思想,特别重要。具体做法是:画一个 len 行,target + 1 列的表格。这里 len 是物品的个数,target 是背包的容量。len 行表示一个一个物品考虑,target + 1多出来的那 1 列,表示背包容量从 0 开始考虑,也就是因为数组下标是从0开始的。所以很多时候,我们需要考虑这个容量为 0 的数值。状态定义:dp[i] [j]表示从数组的 [0原创 2021-02-23 21:18:24 · 152 阅读 · 0 评论 -
最长公共子序列的两种写法:dp数组和备忘录
先看题给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。示例 1:输入:text1 = "abcde", text2 = "ace" 输出:3 解释:最长公共子序列是 "ace",它的长度为 3。示例 2:输入:text1 = "abc", text2 = "abc"输出:3解释:最长公共子序列是 "abc",它的长度为 3。示例 3:输入:text1 = "abc", text2 = "def"输出:0解释:两个字符串没有公共子序列,返回原创 2021-02-22 22:27:31 · 1181 阅读 · 0 评论