1.题目
![](https://i-blog.csdnimg.cn/blog_migrate/176cee70584be209a2177a1f6bc57239.png)
2.题意
与121 购买股票的题目类似,不过这次允许多次购买
3.我的解法
int maxProfit(int* prices, int pricesSize) {
int max=0;
int i;
for (i=1;i<pricesSize;i++){
if(prices[i]>prices[i-1]){
max+=prices[i]-prices[i-1];
}
}
return max;
}
思想比较简单,就是假设每天都购买卖出,然后将最大值累计起来,最后得到结果,优于94%
4.优秀解法int max(int a,int b)
{
return (a>b)?a:b;
}
int maxProfit(int* prices, int pricesSize) {
int Max,i;
for (i=1;i<pricesSize;i++){
Max+=max(prices[i]-prices[i-1],0);
}
return Max;
}
还是Kadane算法的思想,比我自己的解法更加优秀,每次只要考虑是否重新划分即可,优于100%