编程相关
ZhangAnmy
读书与旅行
展开
-
动态规划法之最长公共子串和最优二叉查找树
1. 笔试常考的题型,最长公共子串问题:给定两个字符串str1和str2,返回两个字符串的最长公共子串(连续)和长度。 举例: str1 = "abc" str2="caba" 它们的最长公共子串是 "ab"。此题可用暴力法进行求解,求解的时间复杂度较高。现用动态规划法进行求解。思想:如果 str1 的长度为 n,str2 的长度为 m,生成大小为 n*m 的 数组矩阵 dp , ...原创 2018-09-15 15:11:39 · 2897 阅读 · 0 评论 -
动态规划之线性模型--小朋友过桥问题和钢条切割问题Java实现
动态规划是笔试面试经常考到的问题,之前一篇博客介绍过如何利用动态规划求最长公共子串和最优二叉查找树问题(https://blog.csdn.net/m0_37568814/article/details/82713509)。这篇博客着重介绍动态规划其他方面的应用。相关内容详见https://blog.csdn.net/u013309870/article/details/75193592 本文...原创 2018-10-03 21:52:37 · 2055 阅读 · 0 评论 -
动态规划之背包问题和区间模型--Java实现
背包问题描述:给定n个重量为w1,w2...wn、价值为v1,v2...vn的物品和一个承重量为W的背包,求这些物品中最优价值的一个子集,并且要能够装到背包中。结论:1.在不包括第i个物品的子集中,最优子集的价值是Value[i-1][j].2.在包括第i个物品的子集中(因此,j-wi>=0),最优子集是由该物品和前i-1个物品中能够放进承重量为j-wi的背包的最优子集组成。这种最...原创 2018-10-04 17:37:51 · 1172 阅读 · 0 评论