核心思想
- 买卖股票的实际操作是买入一次,也就是某一天的价格,后面天数在寻求涨价,则出手。 不涨则不出手
- 要避免错误的思维:每天都买,然后在某一天找之前最小股票,然后求差值
- 每出现一次涨价,则与之前求差值,累加最大收益。 当遇到:前若干天是递减,则不算收益,当天涨,则只需要用当天与之前最小值求差,也就是与昨天求差
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算最大收益
* @param prices int整型一维数组 股票每一天的价格
* @param pricesLen int prices数组长度
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int maxProfit(int* prices, int pricesLen ) {
// write code here
int max_delta = 0;
int tmp = 0;
for (int i = 1; i < pricesLen; i++)
{
tmp = prices[i] - prices[i - 1];
if (tmp > 0)
{
max_delta += tmp;
}
}
return max_delta;
}