2018年11月17日

算法55----最长子序列【动态规划】

摘要: 一、题目:最长公共子序列: 给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串L:BDCABA;字符串S:ABCBDAB 则这两个字符串的最长公共子序列长度为4,最长公共子序列是:BCBA 思路:动态规划:时间O(n * m),空间O(n 阅读全文

posted @ 2018-11-17 21:53 吱吱了了 阅读(8687) 评论(0) 推荐(2)

算法54---动态规划

摘要: 一、啥问题可以用动态规划来解决【采用空间来存储重复计算的结构】 举例子:斐波那契问题:F(n) = F(n-1) + F (n-2) F(n)分为两个子问题:F(n-1)和F(n-2), 而F(n-1)和F(n-2)重复计算了F(n-2)部分,所以这两个问题就是重复子问题 重复子问题可以用空间来存储 阅读全文

posted @ 2018-11-17 16:03 吱吱了了 阅读(346) 评论(0) 推荐(0)

算法53----换钱的最小次数和方法数【动态规划】

摘要: 一、题目:换钱的最小次数 给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求组成aim的最少货币数。 举个例子 arr[5,2,3] ,aim=20 4张5元可以组成20,并且是最小的,所以返回4 arr[ 阅读全文

posted @ 2018-11-17 14:10 吱吱了了 阅读(1016) 评论(0) 推荐(0)

算法52-----矩阵最小路径【动态规划】

摘要: 一、题目:矩阵最小路径 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 思路1:时间O(M*N),空间O(M*N) 新建一个矩阵dp(大小也是M*N),该矩阵是从上往下,从左往右记录每一步的结果的 阅读全文

posted @ 2018-11-17 14:08 吱吱了了 阅读(4740) 评论(0) 推荐(0)

导航