最大子段和问题的变形:
此题相关的算法是:Kadane算法
代码:
public:
int maxProfit(vector<int>& prices) {
int n = prices.size();
int sum =0;
int maxn = 0;
for(int i=1; i<n; i++){
int cnt = prices[i] - prices[i-1];
sum+=cnt;
if(sum>0){
maxn = maxn>sum ? maxn : sum;
}else{
sum=0; //没有必要继续下去
}
}
return maxn;
}
网友评论