题目链接
Best Time to Buy and Sell Stock II - LeetCode
注意点
- 在卖出之前必须要先购入
- 不限买入卖出次数
解法
解法一:因为股票的原则就是低入高出,因此从第1天开始(下标从0开始)只要当天的价格高于前一天就可以进行一次交易。遍历一趟数组就可以完成。时间复杂度O(n)
class Solution {
public:
int maxProfit(vector<int>& prices) {
int ret = 0,size = prices.size();
for(int i = 1;i < size;i++) ret += (prices[i]-prices[i-1]) > 0 ? (prices[i]-prices[i-1]) : 0;
return ret;
}
};
小结
- 题目的描述很有误导性,不一定要找差值最大的两个价格,只要有利润就可以进行一次交易