一、题目原型:
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
二、题目意思剖析:
1 | 示例 1: |
三、解题思路:
将前后两天价格相减,盈利interest = prices[i+1] - prices[i]
用一个新数组,将所有正整数加起来就是答案。(方便理解)
或者更简单,不用弄新的数组,得到interest后,直接判断是否为正数,如果是就加起来,最后的和就是结果。
1 | [7,1,5,7,9,4] |
1 | func maxProfit(_ prices: [Int]) -> Int { |
四、小结
耗时28
毫秒,超过33.94%
的提交记录,总提交数201
。