练习题
做我的猫嘛
这个作者很懒,什么都没留下…
展开
-
动态规划-回文串分割
目录1. 题目描述2. 思路分析3.实例4. 代码 1. 题目描述 ~牛客 给出一个字符串s,分割s使得分割出的每一个子串都是回文串,计算将字符串s分割成回文分割结果的最小切割数。 例如:给定字符串s=“aab”, 返回1,因为回文分割结果[“aa”,“b”]是切割一次生成的。 2. 思路分析 方法:动态规划 状态: 状态:到第1,2,3,…,n个字符需要的最小分割数 F(i): 到第i个字符需要的最小分割数 状态递推: F(i) = min{F(i), 1 +原创 2020-09-07 21:16:37 · 289 阅读 · 3 评论 -
动态规划-0/1背包
目录1. 题目描述2. 思路分析3. 实例4. 代码 1. 题目描述 有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值。已知对于一件物品必须选择取(用1表示)或者不取(用0表示),且每件物品只能被取一次(这就是“0-1”的含义)。 求放置哪些物品进背包,可使这些物品的重量总和不超过背包容量,且价值总和最大。 样例 1: 输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4] 输出: 9原创 2020-09-07 16:16:51 · 187 阅读 · 3 评论 -
二叉树习题(上)
1、单值二叉树 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树,才返回 true,否则返回 false。 解题思路: 使用递归的思想,判断当前节点的值是否与其左孩子和右孩子节点的值都相同,只要有一个节点满足,就返回false。 代码: 2、二叉树的深度 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 示例: 给...原创 2020-03-12 20:28:17 · 235 阅读 · 0 评论