首先拿到这个题,第一下想法绝对是暴力遍历,得出每一天买进对应后面每一天卖出的利润,最后取最高的利润输出。但是试了一下力扣直接超时,姑且还是把代码放上来:
解法一:暴力枚举
引入“历史最低”的思想,对于每一天,最大的利润就是这一天的价格减去这一天之前的最低价格,即“历史最低”,所以我们要做的就是维护两个变量,一个存储“历史最低”,一个存储当前的最高利润,最终输出存储的最高利润即可。
解法二:动态规划
首先拿到这个题,第一下想法绝对是暴力遍历,得出每一天买进对应后面每一天卖出的利润,最后取最高的利润输出。但是试了一下力扣直接超时,姑且还是把代码放上来:
引入“历史最低”的思想,对于每一天,最大的利润就是这一天的价格减去这一天之前的最低价格,即“历史最低”,所以我们要做的就是维护两个变量,一个存储“历史最低”,一个存储当前的最高利润,最终输出存储的最高利润即可。