写这篇博客的缘由是听了吴军老师的课程《股票最长的增长期》《二进制数据中1有几个》,开始为面试做准备。希望学习到——结合计算机组成原理设计算法的知识。
我们不应该去刷题,用套路解决问题。
股票最长的增长期
给定一系列按时间排序的浮点数字,求哪段时间内的数字和最大。
(1)首先理解问题,对问题进行抽象
(2)然后对问题进行转换:由于要对原函数求和,很容易联想到积分。我们要求的其实就是积分函数中往上蹿的最大高度。往上蹿地越高等价于连续时间内增长幅度最大(一个箭头意味着连续时间,蹿的高度意味着累计收益)。