leetcode cpp:day6 kadane's algorithm

看到一个比较好的解释:
意思就是:
假设原本是a[i],令b[i]是它的差数列
1、stock profit I
那么最大的差,就来自于b[i]和最大子数列
2、stock profit II
最大的利润,当然是所有正数的profit都加起来啦

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        vector<int> b;
        int cur_profit=0;
        for(int i=1;i<prices.size();i++)
        {
          if(0<prices[i]-prices[i-1])
          {
              cur_profit+=(prices[i]-prices[i-1]);
          }
        }
        return cur_profit;
    }
};
发布了109 篇原创文章 · 获赞 0 · 访问量 8902

猜你喜欢

转载自blog.csdn.net/qq_39029148/article/details/100599701
今日推荐