题意:有一个数组,第i个数据代表的是第i天股票的价格,每天只能先卖出再买进(可以不卖出也可以不买进),求最大收益。
思路:自己去弄几个数组比划比划就知道了,比如[1,2,5,3,6],第一天买进,第二天卖出,再买进,第三天卖出,第四天买进,第五天卖出。
真正计算的就是前一天的价格和当天的价格的差值,[1,3,-2,3],大于0买进,否则不买。
代码:
int maxProfit(vector<int>& prices) { int n = prices.size(); int a[n-1]; for(int i = 0;i<n-1;i++) a[i] = prices[i+1]-prices[i]; int ans = 0; for(int j = 0;j<n-1;j++) { if(a[j]>0) ans += a[j]; } return ans; }