思路: 大概思想如下: 1. 动态规划求解,构造dp[][] 二维数组; 2. 设dp[i][j], i 为 第一个字符串的第i个字母;j 为 第二个字符串的第j个字母 3. dp[i][j] 如果为 1 ,表示 s1[i] 等于 s3[i+j] 且 dp[i?1][j] 等于 1,同理s24. 简 ...
分类:
移动开发 时间:
2019-01-19 21:20:09
阅读次数:
322
必须用dfs的才用dfs求解,显而易见可以动态规划的都用动态规划求解。 https://leetcode.com/tag/depth-first-search/ ...
分类:
其他好文 时间:
2018-12-20 01:03:34
阅读次数:
188
因为最近一段时间接触了一些Leetcode上的题目,发现许多题目的解题思路相似,从中其实可以了解某类算法的一些应用场景。 这个随笔系列就是我尝试的分析总结,希望也能给大家一些启发。 动态规划的基本概念 一言以蔽之, 动态规划就是将大问题分成小问题,以迭代的方式求解。 可以使用动态规划求解的问题一般有 ...
分类:
编程语言 时间:
2018-12-05 16:12:20
阅读次数:
249
四、基本思想:动态规划思想通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。但是适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。如果我们能够保存已解决的子问题的答案,而 ...
分类:
其他好文 时间:
2018-11-20 13:33:17
阅读次数:
141
1.实践题目 2.问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n值(1<=n<= ...
分类:
编程语言 时间:
2018-11-02 12:57:36
阅读次数:
171
摘自维基百科: 动态规划 ( Dynamic Programming ): 把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划 ...
分类:
其他好文 时间:
2018-10-11 01:39:04
阅读次数:
108
一,问题描述 给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串1:BDCABA;字符串2:ABCBDAB 则这两个字符串的最长公共子序列长度为4,最长公共子序列是:BCBA 二,算法求解 这是一个动态规划的题目。对于可用动态规划求解的问题 ...
分类:
其他好文 时间:
2018-08-31 21:08:30
阅读次数:
167
1 #include 2 #include 3 using namespace std; 4 #define MAX 100 5 // 数字三角形问题 方法一:递归求解 6 // execution time 13.681s 7 /* 8 解题思路: 9 1. 用二维数组存放数字三角形 10 2. ... ...
分类:
其他好文 时间:
2018-08-21 10:46:27
阅读次数:
201
某工厂可以生产橡胶鸭和橡皮鱼,寻求duck和fish分别生产多少可取得利润最大化? 条件如下: 时间:够生产400duck,或300fish。 橡胶量:够生产500duck,或400fish。如果生产400fish,就没有橡胶用来生产duck了,反之同。 excel工具-》加载宏-》规划求解,激活规 ...
分类:
其他好文 时间:
2018-08-17 10:16:31
阅读次数:
1149
听说过动态规划(DP)的同学应该都知道有背包问题的存在。 首先我们来了解一下动态规划 基本思想: 动态规划算法通常用于求解具有某种最优性质的问题。 在这类问题中, 可能会有很多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。 动规划算法与分治法类似,其基本思想也是将待求解问题分解为若干个 ...
分类:
其他好文 时间:
2018-08-09 21:09:29
阅读次数:
149