![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 51
记录常用数据结构与算法,记录常见题目
crxk
某国民级橙色购物APP后端开发~
展开
-
【剑指offer LeetCode】股票的最大利润
题目 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。 思路 此题根据标签查找,一开始就知道用动态规划,所以思路很明确。动归嘛,首先想到的就是要找 递推 关系啊。根据题意求解最大的利润,股票的价格是不断变化,不到最后一天肯定原创 2020-12-10 20:48:05 · 347 阅读 · 0 评论 -
一个公式说清楚:动态规划
什么是动态规划 Dynamic Programming,DP。Programming 一词指的不是编程,而是安排计划表,也就是说最后的结果不是直接求出来的,而是一次又一次从子问题递归推算而来的。 动态规划总是与 记忆化技术(也就是缓存,说白了就是利用数组、局部变量把一些子问题的结果存储起来,避免重复计算)搭配使用,其所要解决的子问题有所重叠,如果能采用记忆化技术那么可大幅度降低时间复杂度。 递归:递归地解决子问题 记忆:把已经计算的值保存起来 现在可以用一个公式来解释什么是动态规划了 动态规划 = 递归原创 2020-12-03 12:26:05 · 592 阅读 · 0 评论