动态规划
三少爷的剑!
从学生手上收来的资源整理并确认是否有用,如有雷同,纯属巧合。
展开
-
回文串分割(c++,每日一题)(动态规划) 给出一个字符串s,分割s使得分割出的每一个子串都是回文串 计算将字符串s分割成回文分割结果的最小切割数
给出一个字符串s,分割s使得分割出的每一个子串都是回文串计算将字符串s分割成回文分割结果的最小切割数例如:给定字符串s="aab",返回1,因为回文分割结果["aa","b"]是切割一次生成的。class Solution {public: /** * * @param s string字符串 * @return int整型 */ bool isp(string s,int start,int end){ whi原创 2020-08-31 20:42:38 · 4494 阅读 · 0 评论 -
背包问题 II 中文 English 有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值. 问最多能装入背包的总价值是多大? 样例 样例 1
背包问题 II中文English有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值.问最多能装入背包的总价值是多大?样例样例 1:输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4]输出: 9解释: 装入 A[1] 和 A[3] 可以得到最大价值, V[1] + V[3] = 9 样例 2:输入: m = 10, A = [2, 3, 8], V = [2, 5, 8]原创 2020-08-30 00:15:24 · 4239 阅读 · 0 评论 -
带权值的最小路径和(c++,动态规划)
给定一个由非负整数填充的m x n的二维数组,现在要从二维数组的左上角走到右下角,请找出路径上的所有数字之和最小的路径。注意:你每次只能向下或向右移动。动态规划经典题class Solution {public: /** * * @param grid int整型vector<vector<>> * @return int整型 */ int minPathSum(vector<vector<int&原创 2020-08-27 22:53:03 · 4587 阅读 · 0 评论 -
一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start“的位置)。 机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish“的位置)。 可以有多少种不同
题目描述一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start"的位置)。机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish"的位置)。可以有多少种不同的路径从起点走到终点?上图是3×7大小的地图,有多少不同的路径?备注:m和n小于等于100class Solution {public: /** * * @param m int整型 * @param n int整型 .原创 2020-08-27 22:28:53 · 6098 阅读 · 0 评论 -
计算三角矩阵的最小路径长(动态规划)(c++,每日一练)
题目描述给出一个三角形,计算从三角形顶部到底部的最小路径和,每一步都可以移动到下面一行相邻的数字,例如,给出的三角形如下:[[2],[3,4],[6,5,7],[4,1,8,3]]最小的从顶部到底部的路径和是2+3+5+1= 11。注意:如果你能只用O(N)的额外的空间来完成这项工作的话,就可以得到附加分,其中N是三角形中的行总数。经典动态规划题,把每个点的最小路径求出来,最后求出总的最小路径即可。class Solution {public: ...原创 2020-08-27 16:41:50 · 4215 阅读 · 0 评论 -
分割字符串(动态规划)(c++,每日一练)
题目如下:给定一个字符串s和一组单词dict,判断s是否可以用空格分割成一个单词序列,使得单词序列中所有的单词都是dict中的单词(序列可以包含一个或多个单词)。例如:给定s=“leetcode”;dict=["leet", "code"].返回true,因为"leetcode"可以被分割成"leet code".Given a stringsand a dictionary of wordsdict, determine ifscan be segmented into a...原创 2020-08-27 15:43:23 · 4189 阅读 · 0 评论