Best Time to Buy and Sell Stock II
Say you have an array for which the ith element is the price of a given stock on day i.
Design an algorithm to find the maximum profit. You may complete as many transactions as you like(ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
自己先想了一个思路,套用以前做的Candy的思路。然后在网上随便一搜,准备看看别的思路是不是一样后就开码。没想到搜到的结果一看,竟然这么简单,只要找到递增的区间差就行。细想还真是,自己把问题复杂化了。以后一定要搞明白题目是想要什么,像candy那种题目是比较难的了,一般很难有那么难的了。
Say you have an array for which the ith element is the price of a given stock on day i.
Design an algorithm to find the maximum profit. You may complete as many transactions as you like(ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
自己先想了一个思路,套用以前做的Candy的思路。然后在网上随便一搜,准备看看别的思路是不是一样后就开码。没想到搜到的结果一看,竟然这么简单,只要找到递增的区间差就行。细想还真是,自己把问题复杂化了。以后一定要搞明白题目是想要什么,像candy那种题目是比较难的了,一般很难有那么难的了。
int maxProfit(vector<int> &prices)
{
if (prices.size() <= 1) return 0;
int profit = 0;
for (int i = 1; i < prices.size(); i++)
{
if (prices[i-1] < prices[i])
{
profit += prices[i] - prices[i-1];
}
}
return profit;
}