今天做的是LeetCode的第121题,买卖股票的最佳时机,这是一道经典的面试题,也是一道高频面试题。
这一组题型一共有六道,分别是买卖股票的最佳时机、买卖股票的最佳时机 II、买卖股票的最佳时机 III、买卖股票的最佳时机 IV、最佳买卖股票时机含冷冻期、买卖股票的最佳时机含手续费。其中这道是最简单的,下面来看一下题目要求。
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。
注意:你不能在买入股票前卖出股票。
根据题目描述和实例,可以首先想到要用贪心算法或者动态规划,暴力法其实也可以,但是不推荐。
这里我用的是动态规划,动态的去获取买入和卖出的每一组利润,从而找出最大值。
直接看代码:
提交评论
您尚未登录 :-( ,登录之后方可评论 登录 or 注册